...
The consumers of a Manager's service interface may receive information both synchronously by querying the service, and asynchronously as an event listener (e.g. by using an EventListener
a ListenerService
interface that is part of each Service
interface to register for events and implementing an EventListener
interface for receiving the events).
Store
Also within the core and associated closely with the Manager, Stores have the task of indexing, persisting, and synchronizing the information received by the Manager. This includes ensuring consistency and robustness of information across multiple ONOS instances by directly communicating with stores on other ONOS instances. Further discussion of Stores in distributed settings is found in Cluster Coordination.
...
Events are used by Managers to notify its listeners about changes in the network, and by Stores to notify their peers of events in a distributed setting. An Event is comprised of a an event type and a subject built of model objects.
For example, a DeviceEvent
can be used to notify DeviceListeners
that a device (the subject) has been detected (DEVICE_ADDED
), lost (DEVICE_REMOVED
), or some aspect of it has changed (DEVICE_UPDATED
), among others.
...