# All Classes and Interfaces

Class
Description
AbstractServiceWithBackgroundCheck
Base class which implements the concept of a 'BackgroundCheck', a thread that periodically executes a check until that one succeeds.
AsyncEvent
An AsyncEvent can be enqueued to the AsyncEventSender for later, asynchronous triggering
BaseTopologyView
Very simple abstract base class for the TopologyView which comes with the 'setNotCurrent()' method - that allows the ViewStateManager to mark a topologyView as no longer current - and the isCurrent() is handled accordingly.
ClusterSyncHistory
ClusterSyncService
The ClusterSyncService can be used to establish strong consistency with the underlying (eventually consistent) repository in use.
ClusterSyncServiceChain
Allows chaining of ClusterSyncService, itself implementing the ClusterSyncService interface
DefaultClusterView
Default implementation of the ClusterView interface.
DefaultInstanceDescription
Base implementation for the InstanceDescription interface.
DiscoveryLiteConfig
Provides the configuration of a few paths needed by discovery-lite processing services
DiscoveryLiteDescriptor
Simplifies access to the underlying JSON-backed oak discovery-lite descriptor
EventHelper
Contains static factory methods for creating TopologyEvents with BaseTopologyView as well as some TopologyEvent related helper methods
IdMapService
The IdMapService is responsible for storing a slingId-clusterNodeId pair to the repository and given all other instances in the cluster do the same can map clusterNodeIds to slingIds (or vice-versa)
InitDelayingTopologyEventListener
This listener facade applies a 'startup delay' to a topology event handler, that is, it allows to specify a startup time during which any topology events will be queued and processing only starts after this time.
InstancesDiff
The `InstancesDiff` allows to combine and filter two collections of `InstanceDescription` instances, an "old" collection and a "new" collection.
LocalClusterView
LogSilencer
Helper class to help reduce log.info output.
NonLocalInstanceDescription
InstanceDescription which represents an instance that is explicitly not local, ie isOwn==false.
OakBacklogClusterSyncService
The OakBacklogClusterSyncService will wait until all instances in the local cluster are no longer in any backlog state.
PropertyNameHelper
ResourceHelper
Some helper methods surrounding resources
SyncTokenService
Implements the syncToken idea: each instance stores a key-value pair with key=stringId and value=discoveryLiteSequenceNumber under /var/discovery/oak/syncTokens - and then waits until it sees the same token from all other instances in the cluster.
ViewStateManager
The ViewStateManager is at the core of managing TopologyEventListeners, the 'view state' (changing vs changed) and sending out the appropriate and according TopologyEvents to the registered listeners - depending on the implementation it also supports the ClusterSyncService, which is invoked on handleNewView.
ViewStateManagerFactory
Used to create an implementation classes of type ViewStateManager (with the idea to be able to leave the implementation classes as package-protected)
ViewStateManagerImpl
The ViewStateManager is at the core of managing TopologyEventListeners, the 'view state' (changing vs changed) and sending out the appropriate and according TopologyEvents to the registered listeners.