Interface ConnectionOrientedTransportMapping<A extends Address>

All Superinterfaces:
TransportMapping<A>
All Known Implementing Classes:
DefaultTcpTransportMapping, TcpTransportMapping, TLSTM

public interface ConnectionOrientedTransportMapping<A extends Address> extends TransportMapping<A>
Transport mappings for connection oriented transport protocols have to implement this interface.
Since:
1.7
Version:
2.8.6
Author:
Frank Fock
  • Method Details

    • getMessageLengthDecoder

      MessageLengthDecoder getMessageLengthDecoder()
      Returns the MessageLengthDecoder used by this transport mapping.
      Returns:
      a MessageLengthDecoder instance.
    • setMessageLengthDecoder

      void setMessageLengthDecoder(MessageLengthDecoder messageLengthDecoder)
      Sets the MessageLengthDecoder that decodes the total message length from the header of a message.
      Parameters:
      messageLengthDecoder - a MessageLengthDecoder instance.
    • setConnectionTimeout

      void setConnectionTimeout(long connectionTimeout)
      Sets the connection timeout. This timeout specifies the time a connection may be idle before it is closed.
      Parameters:
      connectionTimeout - the idle timeout in milliseconds. A zero or negative value will disable any timeout and connections opened by this transport mapping will stay opened until they are explicitly closed.
    • addTransportStateListener

      void addTransportStateListener(TransportStateListener l)
      Adds a transport state listener that is to be informed about connection state changes.
      Parameters:
      l - a TransportStateListener.
    • removeTransportStateListener

      void removeTransportStateListener(TransportStateListener l)
      Removes the supplied transport state listener.
      Parameters:
      l - a TransportStateListener.
    • close

      boolean close(A remoteAddress) throws IOException
      Closes the connection to the given remote address (socket).
      Parameters:
      remoteAddress - the address of the remote socket.
      Returns:
      true if the connection could be closed and false if the connection does not exists.
      Throws:
      IOException - if closing the connection with the specified remote address fails.
      Since:
      1.7.1
    • resumeAddress

      boolean resumeAddress(A addressToResumeSending)
      Resume sending of messages to the specified address.
      Parameters:
      addressToResumeSending - an arbitrary remote address for which any messages send by TransportMapping.sendMessage(Address, byte[], TransportStateReference) should be dropped before sending and reopening a connection to that address.
      Returns:
      true if the specified address was previously suspended and is now resumed to allow sending messages, false otherwise.
      Since:
      2.8.6
    • suspendAddress

      void suspendAddress(A addressToSuspendSending)
      Suspend sending of messages to the specified address, regardless if a connection is already established or not. To be able to send messages again to the specified address using TransportMapping.sendMessage(Address, byte[], TransportStateReference), call resumeAddress(A).
      Parameters:
      addressToSuspendSending - an arbitrary remote address for which any messages send by TransportMapping.sendMessage(Address, byte[], TransportStateReference) should be dropped before sending and reopening a connection to that address.
      Since:
      2.8.6