-
- All Superinterfaces:
Lookup.Provider
public interface RootHub extends Lookup.Provider
RootHub implementations act as a container for Roots, providing a way for Roots to communicate with each other and access other hub-wide services. The Lookup provided by the RootHub will usually contain an instance ofServices
. A RootHub implementation is local to a JVM. In a distributed hub there will be a RootHub on each running process. Dispatching of messages between processes will be handled transparently using the dispatch() method. Other information, such as the Clock time, are specific to the RootHub instance (comparisons across RootHubs are not useful). Packet timecodes will be automatically translated.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
RootHub.ExtensionProvider
An interface that can be registered as a service provider for modules wanting to provide Root instances to be installed as RootHub extensions - usually for Roots providing additional Services.static interface
RootHub.ServiceProvider
An interface for RootHub extensions (seeRootHub.ExtensionProvider
) to advertise the services they provide.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
dispatch(Packet packet)
Dispatch a message to another Root.Clock
getClock()
The Clock instance for this RootHub.-
Methods inherited from interface org.praxislive.core.Lookup.Provider
getLookup
-
-
-
-
Method Detail
-
dispatch
boolean dispatch(Packet packet)
Dispatch a message to another Root. SeeRoot.Controller.submitPacket(org.praxislive.core.Packet)
- Parameters:
packet
- message to dispatch- Returns:
- true if message could be handled
-
getClock
Clock getClock()
The Clock instance for this RootHub. This method will return a high-precision nanosecond timer used as the primary timing source within this RootHub instance. This method will always return the same Clock instance.- Returns:
- the primary timing source of this RootHub
-
-