Is events order maintained?
|
|
---|---|
Hi Tango experts, Could someone confirm that the order of receiving events by a client emitted by a given server is maintained. Let’s imagine a situation where I have a device server with two devices. Device A has an attribute X and device B has an attribute Y. The client is subscribed to these attributes. The order of emitting events is the following: first the attribute X event is emitted and then the attribute Y is emitted (both events are emitted in the same execution thread). The client and the server runs on a different hosts. Could you confirm that the client will always receive first the event from the attribute X and then from the attribute Y. I have always assumed that (stream socket connection and a unique thread to handle events on the client) but I would be grateful for the confirmation :). And is it like this for both cases of notifd and zmq? Many thanks! Zibi |
|
|
---|---|
Hi Zibi, Normally, in the use case you described, you should indeed receive the events in the same order as when they were emitted. Not sure for the notifd events though… Cheers, Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |
|
|
---|---|
Hi Reynald, Thanks for the confirmation! Just about the zmq case, the whole time, starting from the subscribe until the unsubscribe or the client shutdown, the same socket session in maintained i.e. no reconnections are done? Cheers, Zibi |
|
|
---|---|
Reconnections could happen if the server is restarted or if there are some network issues causing the loss of heartbeat messages.
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new. |
|
|
---|---|
That's fine. Thanks for the details! |