Does anyone think it’s worthwhile to provide a zmq_setsockopt() to allow for resetting the statemachine for a REQ or a REP socket?
One of the biggest stumbling blocks for new users is the lock-step send/reply/send/reply sequence enforced by a pair of REQ/REP sockets. If a message gets lost, we now force the user to close the socket(s) and create a new one. This essentially resets the statemachine for the socket. Wouldn’t it be better to allow the user to force reset the state? e.g. (pseudo-code) req = zmq_socket(ZMQ_REQ); rc = zmq_send(req, buf); // some timeout expires rc = zmq_setsockopt(req, ZMQ_RESETSTATE); rc = zmq_send(req, buf); I haven’t looked at the source in a while but I can’t imagine this would be all that difficult. The difficulty may come in dealing with late message arrivals but that can probably just be pushed onto the user to detect and handle. Thoughts? cr _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev