Class ControllerHashtable

java.lang.Object
com.illumon.iris.controller.ControllerHashtable
All Implemented Interfaces:
ControllerHashtableEventSource, Map<Long,PersistentQueryInfo>
Direct Known Subclasses:
ControllerHashtableServer, PersistentQueryControllerClient

public abstract class ControllerHashtable extends Object implements Map<Long,PersistentQueryInfo>, ControllerHashtableEventSource
This class provides a base for a Controller hash table.

The server maintains the authoritative version of the map. Clients can connect to the server and listen to the updates to which they subscribe. Clients can also send the server their update requests, via a separate Comm channel.

Threading rules:

  • All methods are already appropriately synchronized, so you do not need any further synchronization for most tasks.
  • To gain exclusive access to the data (for example, while iterating over the entries in the map), synchronize on the object returned by getData().
  • The ControllerHashtable itself is not the lock for the map data!