...
Descriptions are used to pass information about a element across the southbound API. For example, a HostDescription
contains information about a host's MAC and IP Addresses and its location in the network (VLAN ID and device/port attachment point). Descriptions are usually made up of one or more model objects, ONOS's representations of various network components.
Events
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 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.
...
Event listeners are any components that implement the EventListener
interface. EventListener
child interfaces are classified by the type of Event
subclass they listen for. The typical mode of implementation is for an Event listener to be an inner class of a manager, from which the appropriate services are invoked. This restricts the handling of events external to a subsystem to the subsystem's manager.
The figure below elaborates on the previous figure to show the relationship between Descriptions, Events, and the components described here.
Network representations
Model objects are ONOS maintains 's protocol-agnostic representations of various network elements and properties. Events carry these representations as their subject body. These representations are built from the information found in Descriptions by the system core.
...