Class LocalNetwork
java.lang.Object
com.yahoo.messagebus.network.local.LocalNetwork
- All Implemented Interfaces:
Network
- Author:
- Simon Thoresen Hult
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
allocServiceAddress
(RoutingNode recipient) Resolves the service address of the recipient referenced by the given routing node.void
attach
(NetworkOwner owner) Attach the network layer to the given owner.void
freeServiceAddress
(RoutingNode recipient) Frees the service address from the given routing node.Returns a string that represents the connection specs of this network.com.yahoo.jrt.slobrok.api.IMirror
Returns a reference to a name server mirror.void
registerSession
(String session) Register a session name with the network layer.void
send
(Message msg, List<RoutingNode> recipients) Send a message to the given recipients.void
shutdown()
Shuts down the network.void
sync()
Synchronize with internal threads.void
unregisterSession
(String session) Unregister a session name with the network layer.boolean
waitUntilReady
(double seconds) Waits for at most the given number of seconds for all dependencies to become ready.
-
Constructor Details
-
LocalNetwork
public LocalNetwork() -
LocalNetwork
-
-
Method Details
-
waitUntilReady
public boolean waitUntilReady(double seconds) Description copied from interface:Network
Waits for at most the given number of seconds for all dependencies to become ready.- Specified by:
waitUntilReady
in interfaceNetwork
- Parameters:
seconds
- the timeout- Returns:
- true if ready
-
attach
Description copied from interface:Network
Attach the network layer to the given owner. -
registerSession
Description copied from interface:Network
Register a session name with the network layer. This will make the session visible to other nodes.- Specified by:
registerSession
in interfaceNetwork
- Parameters:
session
- the session name
-
unregisterSession
Description copied from interface:Network
Unregister a session name with the network layer. This will make the session unavailable for other nodes.- Specified by:
unregisterSession
in interfaceNetwork
- Parameters:
session
- session name
-
allocServiceAddress
Description copied from interface:Network
Resolves the service address of the recipient referenced by the given routing node. If a recipient can not be resolved, this method tags the node with an error. If this method succeeds, you need to invokeNetwork.freeServiceAddress(RoutingNode)
once you are done with the service address.- Specified by:
allocServiceAddress
in interfaceNetwork
- Parameters:
recipient
- the node whose service address to allocate- Returns:
- true if a service address was allocated
-
freeServiceAddress
Description copied from interface:Network
Frees the service address from the given routing node. This allows the network layer to track and close connections as required.- Specified by:
freeServiceAddress
in interfaceNetwork
- Parameters:
recipient
- the node whose service address to free
-
send
Description copied from interface:Network
Send a message to the given recipients. ARoutingNode
contains all the necessary context for sending. -
sync
public void sync()Description copied from interface:Network
Synchronize with internal threads. This method will handshake with all internal threads. This has the implicit effect of waiting for all active callbacks. Note that this method should never be invoked from a callback since that would make the thread wait for itself... forever. This method is typically used to untangle during session shutdown. -
shutdown
public void shutdown()Description copied from interface:Network
Shuts down the network. This is a blocking call that waits for all scheduled tasks to complete. -
getConnectionSpec
Description copied from interface:Network
Returns a string that represents the connection specs of this network. It is in not a complete address since it know nothing of the sessions that run on it.- Specified by:
getConnectionSpec
in interfaceNetwork
-
getMirror
public com.yahoo.jrt.slobrok.api.IMirror getMirror()Description copied from interface:Network
Returns a reference to a name server mirror.
-