Interface Transport.Connection

All Superinterfaces:
java.lang.AutoCloseable, java.io.Closeable
All Known Implementing Classes:
CloseableConnection, TcpTransport.NodeChannels
Enclosing interface:
Transport

public static interface Transport.Connection
extends java.io.Closeable
A unidirectional connection to a DiscoveryNode
  • Method Details

    • getNode

      DiscoveryNode getNode()
      The node this connection is associated with
    • sendRequest

      void sendRequest​(long requestId, java.lang.String action, TransportRequest request, TransportRequestOptions options) throws java.io.IOException, TransportException
      Sends the request to the node this connection is associated with
      Parameters:
      requestId - see Transport.ResponseHandlers.add(ResponseContext) for details
      action - the action to execute
      request - the request to send
      options - request options to apply
      Throws:
      NodeNotConnectedException - if the given node is not connected
      java.io.IOException
      TransportException
    • addCloseListener

      void addCloseListener​(ActionListener<java.lang.Void> listener)
      The listener's ActionListener.onResponse(Object) method will be called when this connection is closed. No implementations currently throw an exception during close, so ActionListener.onFailure(Exception) will not be called.
      Parameters:
      listener - to be called
    • isClosed

      boolean isClosed()
    • getVersion

      default Version getVersion()
      Returns the version of the node this connection was established with.
    • getCacheKey

      default java.lang.Object getCacheKey()
      Returns a key that this connection can be cached on. Delegating subclasses must delegate method call to the original connection.
    • close

      void close()
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable