Hi, I've written up a first draft for my PPPP protocol:
PPPP implements a reliable two-way dialog between peers. PPPP covers presence, heartbeating, request-reply processing and ACKing of messages. It was based loosly on the Paranoid Pirate Protocol. The goals of PPPP are to: * Allow peers to detect disconnection of the other peer, through the use of heartbeating. * Allow peers to detect out-of-order messages by adding sequence numbers. * Allow peers to detect message loss when peers reconnect and resend (or rerequest) messages. * Allow peers to acknowledge receiving a message or not-acknowledge lost messages for fast resent. * Allow peers to associate replies with requests. * Allow peers to publish messages without disrupting the ability of peers to associate replies with requests. For the full specs see: https://github.com/Q-Leap-Networks/rfc/blob/pull-pppp/spec_40.txt The RFC defines the on-wire protocol and behaviour for 2 protocol devices. One device for clients talking to a single server and one for servers talking to many clients. The devices will handle all the tidious protocol handling, acks, resends and timeouts and so on. The applications can then simply send-and-forget messages. RFCs for the devices to follow. Comments welcome. MfG Goswin _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
