Local memory implementation of a blackboard. The data entries are stored internally in a hash-map. Internally information is stored in two hash-maps. One hash-map contains a map of labels to the entry data. This stores the actual data. The second hash-map stores a map of device queues which are listening to an entry. These are the devices that are sent events when an entry is updated. CAVEATS: -There is no checking to see if a device is already subscribed to a key. If a device subscribes to a key twice, it will receive two updates. -All listening devices are sent updates when an entry is set, even if that device set the entry.

Provides
  • interface_blackboard
Requires
  • None
Configuration requests
  • PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_KEY
  • PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_KEY
  • PLAYER_BLACKBOARD_REQ_SET_ENTRY
  • PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_GROUP
  • PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_GROUP
  • PLAYER_BLACKBOARD_REQ_GET_ENTRY
Configuration file options
  • None
Example
driver
(
  name "localbb"
  provides [ "blackboard:0" ]
)
Author
Ben Morelli