Tango event system glossary
Most of the terms listed here are explained in more detail in Primer on the cppTango ZMQ event system.
- Tango device server
A process where Tango devices reside. Tango events can only be published by device servers.
- admin device
The Tango device that represents the device server process itself. For a device server started with
python MyServer.py inst, the admin device will be calleddserver/MyServer/inst.- event supplier
A singleton in the Tango device server process that manages the event channel and publishes Tango event data to the appropriate ZMQ topic over the event socket.
- Tango client
A process that makes requests to Tango devices. This may or may not be Tango device server.
- Tango pure client
A Tango client that is not a device server.
- event consumer
A singleton in the Tango client process that manages connections to the event supplier’s ZMQ sockets and dispatches events to the event callbacks.
- subscribe
A Tango client requesting to receive events from a particular event stream from a Tango device server. See Event subscription.
- unsubscribe
A Tango client requesting to no longer receive events from a particular event stream. See Unsubscribing from an event stream
- event socket
The ZMQ socket used to send event data.
- heartbeat socket
The ZMQ socket used to send heartbeat events.
- event stream
The (Tango object, event type) pair that describes events that a client wishes to subscribe to. Depending on the event type, the Tango object can be a device, an attribute or a pipe. For example, a client may wish to subscribe to
archiveevents for thefoo/bar/pub/coolfactoryattribute.- event channel
The event socket and heartbeat socket of a Tango device server.
- heartbeat event
A peroidic event sent by the event supplier. Used by the keep-alive mechanism to detect when the event channel is no longer available.
- server counter
A counter incremented by the event supplier whenever an event is sent over an event stream. This counter is sent a long with the event data to the client.
- discarded event
A event with the same server counter as the previous event. See Sending event data.
- missed event
An
API_MissedEventerror event generated when there is an unexpected skip in the server counter. See Sending event data.- error event
Event data with the
errflag set to true. The event will contain an error stack withreasonfields that can be used to discrimate between errors. For example, the reason field may beAPI_MissedEvent.- keep-alive mechanism
Mechanism running in the event consumer to maintain the connection to the event supplier. See The keep-alive mechanism.
- event latency
The time between a event being pushed by the event supplier and being processed by the event consumer.
- Tango Resource Locator
A string that can be resolved to a Tango object. See Tango Resource Locator (TRL).
- ZMQ socket
An abstract socket provided by the ZeroMQ library.
- ZMQ topic
A string used to filter events from the event socket corresponding to a particular event stream. For example,
archiveevents for thefoo/bar/pub/coolfactoryattribute (withTANGO_HOST=localhost:10000) could be sent over the topic"tango://localhost:10000/foo/bar/pub/coolfactor.idl5_archive".