Module org.snmp4j

Interface ConnectionOrientedTransportMapping<A extends Address>

All Superinterfaces:
AutoCloseable, Closeable, TransportMapping<A>
All Known Implementing Classes:
AbstractConnectionOrientedTransportMapping, DefaultTcpTransportMapping, DTLSTM, 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:
3.5.0
Author:
Frank Fock
  • Method Details

    • 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, long, int) 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:
      3.4.4
    • 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, long, int), call resumeAddress(A).
      Parameters:
      addressToSuspendSending - an arbitrary remote address for which any messages send by TransportMapping.sendMessage(Address, byte[], TransportStateReference, long, int) should be dropped before sending and reopening a connection to that address.
      Since:
      3.4.4
    • isServerEnabled

      boolean isServerEnabled()
      Checks whether a server for incoming requests is enabled.
      Returns:
      boolean
    • getMessageLengthDecoder

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

      void setServerEnabled(boolean serverEnabled)
      Sets whether a server for incoming requests should be created when the transport is set into listen state. Setting this value has no effect until the TransportMapping.listen() method is called (if the transport is already listening, TransportMapping.close() has to be called before).
      Parameters:
      serverEnabled - if true if the transport will listens for incoming requests after TransportMapping.listen() has been called.
    • 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
    • getSocketCleaner

      CommonTimer getSocketCleaner()
      Gets the CommonTimer that controls socket cleanup operations.
      Returns:
      a socket cleaner timer.
      Since:
      3.0
    • getConnectionTimeout

      long getConnectionTimeout()
      Gets the connection timeout in milliseconds
      Returns:
      the timeout millis after which an inactive connection can be closed.
      Since:
      3.0