[for the search archives]
> On Feb 16, 2018, at 9:00 AM, Wes Young wrote:
>
> (looking at zgossip.c and zgossip_engine.inc, and using versions that are
> in-sync with current zproto master)
>
> in zproto should a “termination” state trigger a socket disconnect (eg: a TCP
> FIN?) in the state machine? or is this something that needs to be handled in
> your server code? and it’s just assumed the TCP state stays ‘open’ unless
> you’ve implemented some lower level heart-beats or actually force a term of
> the tcp socket itself(?)
>
> for instance- when zgossip triggers an expired/term event- the state goes to
> term and it appears to remove the client from it’s list(?), but it never
> seems to clean up the TCP connection unless there’s a hard disconnect. i
> can’t tell if this is on purpose and supposed to be done in the client, or if
> that’s just where folks left off last.. along with PING/PONG/TTL,
> zgossip.c:client_terminate is empty atm.
this is really more of a lower level zmq feature that i musta brain-farted on.
the client is really responsible for the initiating a FIN, which is fine. the
other issue seems to be, unlike other zproto protocols gossip *can* be really
quiet at times. the zproto application server thinks the client is gone, but a
FIN never went through (there was no lower level zmq disconnect). the other
protocols seem to get around this issue by being more chatty, having longer
timeouts and the correct implementation of PING/PONG which was started in
gossip, but not quite finished (testing a PR for this).
also testing some TTL ideas that will influence the timeouts (eg: when things
go quiet).
> i’m looking through the zproto docs and examples and think i’m just missing
> something dumb here.. might be mixing some terms too.
--
wes
wesyoung.me
signature.asc
Description: Message signed with OpenPGP
___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev