Class LocalNetwork

java.lang.Object
com.yahoo.messagebus.network.local.LocalNetwork
All Implemented Interfaces:
Network

public class LocalNetwork extends Object implements Network
Author:
Simon Thoresen Hult
  • Constructor Details

    • LocalNetwork

      public LocalNetwork()
    • LocalNetwork

      public LocalNetwork(LocalWire wire)
  • 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 interface Network
      Parameters:
      seconds - the timeout
      Returns:
      true if ready
    • attach

      public void attach(NetworkOwner owner)
      Description copied from interface: Network
      Attach the network layer to the given owner.
      Specified by:
      attach in interface Network
      Parameters:
      owner - owner of the network
    • registerSession

      public void registerSession(String session)
      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 interface Network
      Parameters:
      session - the session name
    • unregisterSession

      public void unregisterSession(String session)
      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 interface Network
      Parameters:
      session - session name
    • allocServiceAddress

      public boolean allocServiceAddress(RoutingNode recipient)
      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 invoke Network.freeServiceAddress(RoutingNode) once you are done with the service address.
      Specified by:
      allocServiceAddress in interface Network
      Parameters:
      recipient - the node whose service address to allocate
      Returns:
      true if a service address was allocated
    • freeServiceAddress

      public void freeServiceAddress(RoutingNode recipient)
      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 interface Network
      Parameters:
      recipient - the node whose service address to free
    • send

      public void send(Message msg, List<RoutingNode> recipients)
      Description copied from interface: Network
      Send a message to the given recipients. A RoutingNode contains all the necessary context for sending.
      Specified by:
      send in interface Network
      Parameters:
      msg - the message to send
      recipients - a list of routing leaf nodes resolved for the message
    • 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.
      Specified by:
      sync in interface Network
    • 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.
      Specified by:
      shutdown in interface Network
    • getConnectionSpec

      public String 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 interface Network
    • getMirror

      public com.yahoo.jrt.slobrok.api.IMirror getMirror()
      Description copied from interface: Network
      Returns a reference to a name server mirror.
      Specified by:
      getMirror in interface Network