>
> The difficulty may come in dealing with late message arrivals but that can
> probably just be pushed onto the user to detect and handle.


Would that be the lesser of the 'evils' in question here?  To me, throwing
away the socket on a hard failure (e.g. timeout of the remote endpoint)
makes a clean break with the endpoint and keeps the protocol cruft to
detect other failures down.


On Tue, Jul 29, 2014 at 7:49 AM, Charles Remes <li...@chuckremes.com> wrote:

> 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
>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to