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 called dserver/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 archive events for the foo/bar/pub/coolfactory attribute.

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_MissedEvent error event generated when there is an unexpected skip in the server counter. See Sending event data.

error event

Event data with the err flag set to true. The event will contain an error stack with reason fields that can be used to discrimate between errors. For example, the reason field may be API_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, archive events for the foo/bar/pub/coolfactory attribute (with TANGO_HOST=localhost:10000) could be sent over the topic "tango://localhost:10000/foo/bar/pub/coolfactor.idl5_archive".