[zeromq-dev] Disable resend of Publisher after reconnection

Bachmair Florian - flexSolution GmbH florian.bachmair at flexsolution.eu
Fri Aug 28 12:25:09 CEST 2015


in tcpdump/wireshark I can see that only for one package(the first after 
I unpluged the cable) I get retransmission packets.
The rest is queued in zeromq I guess. If that's true, is it possible to 
only queue one packet which should always be removed if a new packet comes?



Am 27.08.2015 um 15:52 schrieb Bachmair Florian - flexSolution GmbH:
> It's hard to tell.
>
> For example If I get position while some machine is moving.
>
> I can get values up to every 10 ms, so if the connections is broken 
> for 1 second I miss 100 messages.
>
> I do send a timestamp with my messages, but It's hard to get the same 
> time on multiple machines if we speak of ms.
>
> Am 27.08.2015 um 15:44 schrieb Jonathan Reams:
>> You could use ZMTP heartbeats for this (although it's only in master 
>> right now). You set ZMQ_HEARTBEAT_IVL and ZMQ_HEARTBEAT_TIMEOUT to 
>> the minimum time a tcp connection should be allowed to be idle, and 
>> it will reset the sockets if there's a disconnection for longer than 
>> that period.
>>
>> I think you'll also need to do some kind of time-stamping on each 
>> message though if it's really important that you only receive 
>> messages sent after you've been "connected." What length of time 
>> should trigger a disconnection?
>>
>> On Thu, Aug 27, 2015 at 9:32 AM, Doron Somech <somdoron at gmail.com 
>> <mailto:somdoron at gmail.com>> wrote:
>>
>>     For how long are you disconnecting the network?
>>
>>     Just for the experiment try to set SNDBUF of the publisher to
>>     zero, along with immediate to 1 and send highwatermark to 1. I
>>     think it should work. However I dont think it is a good
>>     configuration. My suggestion is to have a time field on each
>>     message, save the diff on first message and check it on every
>>     message. If it too high drop the connection.
>>
>>     On Aug 27, 2015 4:13 PM, "KIU Shueng Chuan" <nixchuan at gmail.com
>>     <mailto:nixchuan at gmail.com>> wrote:
>>
>>         You could use the tcp keepalive socket options to make the
>>         tcp connection drop faster once you have unplugged your
>>         cable. That should cause the queued packets to be dropped.
>>
>>         Or your subscriber could drain the socket of messages by
>>         reading it until it would block and only process the last one.
>>
>>         On Aug 27, 2015 20:42, "Bachmair Florian - flexSolution GmbH"
>>         <florian.bachmair at flexsolution.eu
>>         <mailto:florian.bachmair at flexsolution.eu>> wrote:
>>
>>             ok, thank you!
>>
>>             I have to think about that, because I want to use curve
>>             as well, and therefore I would need tcp...
>>
>>             Am 27.08.2015 um 14:12 schrieb Sergey Zinov:
>>>             Seems like that should be the case. TCP is a reliable
>>>             protocol, it buffers all data till it acknowledged by
>>>             receiver and resend when needed. Switch to the UDP if
>>>             don't need that reliability.
>>>
>>>             On 27.08.2015 14:07, Bachmair Florian - flexSolution
>>>             GmbH wrote:
>>>>             This does not work either :/
>>>>
>>>>             I'm unsing PUB/SUB via tcp.
>>>>
>>>>             I have captured the tcp connection with tcpdump and I
>>>>             saw that after I unplug the cable I get tcp
>>>>             retransmission packets.
>>>>
>>>>             May this be more a behaviour of tcp itself than of zmq?
>>>>
>>>>
>>>>             Am 27.08.2015 um 13:39 schrieb Sergey Zinov:
>>>>>             Hi,
>>>>>
>>>>>             Try to set ZMQ_SNDHWM to 1. By the way which transport
>>>>>             are you using?
>>>>>
>>>>>             On 27.08.2015 11:52, Bachmair Florian - flexSolution
>>>>>             GmbH wrote:
>>>>>>             I tried it, but it does not work!
>>>>>>
>>>>>>             Don't know If I get that right, but even If I set
>>>>>>             ZMQ_RECONNECT_IV to "-1" my PUB and SUB Sockets are
>>>>>>             reconnecting to each other after I replug the cable
>>>>>>
>>>>>>             Am 27.08.2015 um 10:59 schrieb Doron Somech:
>>>>>>>
>>>>>>>             I'm not sure, but try to set  ZMQ_IMMEDIATE option.
>>>>>>>
>>>>>>>             On Aug 27, 2015 11:38 AM, "Bachmair Florian -
>>>>>>>             flexSolution GmbH" <florian.bachmair at flexsolution.eu
>>>>>>>             <mailto:florian.bachmair at flexsolution.eu>> wrote:
>>>>>>>
>>>>>>>                 Hello!
>>>>>>>
>>>>>>>                 Is there a opportunity to tell the publisher not
>>>>>>>                 to resend messages?
>>>>>>>
>>>>>>>                 I have two stations A and B
>>>>>>>
>>>>>>>                 A publishes all the time
>>>>>>>                 B receives it
>>>>>>>
>>>>>>>                 A-PUB 10
>>>>>>>                 B-SUB 10
>>>>>>>                 A-PUB 20
>>>>>>>                 B-SUB 20
>>>>>>>                 A-PUB 30
>>>>>>>                 B-SUB 30
>>>>>>>                 A-PUB 40
>>>>>>>                 B-SUB 40
>>>>>>>                 ---unplug cable
>>>>>>>                 A-PUB 50
>>>>>>>                 A-PUB 60
>>>>>>>                 A-PUB 70
>>>>>>>                 ---plug cable again
>>>>>>>                 B-SUB 50
>>>>>>>                 B-SUB 60
>>>>>>>                 B-SUB 70
>>>>>>>                 ....
>>>>>>>
>>>>>>>
>>>>>>>                 B does some routines after it gets those values.
>>>>>>>                 But I'm not interested
>>>>>>>                 in 50 and 60 any more, I just want the 70 after
>>>>>>>                 reconnection.
>>>>>>>                 I do Heartbeating so I detect connection lost on
>>>>>>>                 my own and I can
>>>>>>>                 request the last value as well. So is this
>>>>>>>                 possible to disable the
>>>>>>>                 resend mechanism?
>>>>>>>
>>>>>>>                 Thx
>>>>>>>                 Florian
>>>>>>>                 _______________________________________________
>>>>>>>                 zeromq-dev mailing list
>>>>>>>                 zeromq-dev at lists.zeromq.org
>>>>>>>                 <mailto:zeromq-dev at lists.zeromq.org>
>>>>>>>                 http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>             _______________________________________________
>>>>>>>             zeromq-dev mailing list
>>>>>>>             zeromq-dev at lists.zeromq.org  <mailto:zeromq-dev at lists.zeromq.org>
>>>>>>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>>             _______________________________________________
>>>>>>             zeromq-dev mailing list
>>>>>>             zeromq-dev at lists.zeromq.org  <mailto:zeromq-dev at lists.zeromq.org>
>>>>>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>>
>>>>>
>>>>>             -- 
>>>>>             Sergey Zinov
>>>>>
>>>>>             Wissenschaftlicher Mitarbeiter
>>>>>             Fachbereich Elektrotechnik, Maschinenbau und Wirtschaftsingenieurwesen
>>>>>             Hochschule Anhalt
>>>>>             /
>>>>>             Research Assistant
>>>>>             Department of Electrical, Mechanical and Industrial Engineering
>>>>>             Anhalt University of Applied Sciences
>>>>>
>>>>>             Phone:+4915738145172  <tel:%2B4915738145172>
>>>>>
>>>>>
>>>>>             _______________________________________________
>>>>>             zeromq-dev mailing list
>>>>>             zeromq-dev at lists.zeromq.org  <mailto:zeromq-dev at lists.zeromq.org>
>>>>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>>>
>>>>
>>>>             _______________________________________________
>>>>             zeromq-dev mailing list
>>>>             zeromq-dev at lists.zeromq.org  <mailto:zeromq-dev at lists.zeromq.org>
>>>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>>
>>>             -- 
>>>             Sergey Zinov
>>>
>>>             Wissenschaftlicher Mitarbeiter
>>>             Fachbereich Elektrotechnik, Maschinenbau und Wirtschaftsingenieurwesen
>>>             Hochschule Anhalt
>>>             /
>>>             Research Assistant
>>>             Department of Electrical, Mechanical and Industrial Engineering
>>>             Anhalt University of Applied Sciences
>>>
>>>             Phone:+4915738145172  <tel:%2B4915738145172>
>>>
>>>
>>>             _______________________________________________
>>>             zeromq-dev mailing list
>>>             zeromq-dev at lists.zeromq.org  <mailto:zeromq-dev at lists.zeromq.org>
>>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>             _______________________________________________
>>             zeromq-dev mailing list
>>             zeromq-dev at lists.zeromq.org
>>             <mailto:zeromq-dev at lists.zeromq.org>
>>             http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>         _______________________________________________
>>         zeromq-dev mailing list
>>         zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
>>         http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>     _______________________________________________
>>     zeromq-dev mailing list
>>     zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
>>     http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150828/1df7a0cf/attachment.htm>


More information about the zeromq-dev mailing list