Module org.snmp4j

Class AbstractConnectionOrientedTransportMapping<A extends Address,​S extends AbstractSocketEntry<A>>

java.lang.Object
org.snmp4j.transport.AbstractTransportMapping<A>
org.snmp4j.transport.AbstractConnectionOrientedTransportMapping<A,​S>
All Implemented Interfaces:
Closeable, AutoCloseable, ConnectionOrientedTransportMapping<A>, TransportMapping<A>
Direct Known Subclasses:
TcpTransportMapping

public abstract class AbstractConnectionOrientedTransportMapping<A extends Address,​S extends AbstractSocketEntry<A>> extends AbstractTransportMapping<A> implements ConnectionOrientedTransportMapping<A>
  • Field Details

  • Constructor Details

    • AbstractConnectionOrientedTransportMapping

      public AbstractConnectionOrientedTransportMapping()
  • Method Details

    • timeoutSocket

      protected void timeoutSocket(AbstractSocketEntry<A> entry)
    • getConnectionTimeout

      public long getConnectionTimeout()
      Gets the connection timeout. This timeout specifies the time a connection may be idle before it is closed.
      Specified by:
      getConnectionTimeout in interface ConnectionOrientedTransportMapping<A extends Address>
      Returns:
      long the idle timeout in milliseconds.
    • setConnectionTimeout

      public void setConnectionTimeout(long connectionTimeout)
      Sets the connection timeout. This timeout specifies the time a connection may be idle before it is closed.
      Specified by:
      setConnectionTimeout in interface ConnectionOrientedTransportMapping<A extends Address>
      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.
    • setSocketOptions

      protected void setSocketOptions(ServerSocket serverSocket)
      Sets optional server socket options. The default implementation does nothing.
      Parameters:
      serverSocket - the ServerSocket to apply additional non-default options.
    • isServerEnabled

      public boolean isServerEnabled()
      Description copied from interface: ConnectionOrientedTransportMapping
      Checks whether a server for incoming requests is enabled.
      Specified by:
      isServerEnabled in interface ConnectionOrientedTransportMapping<A extends Address>
      Returns:
      boolean
    • setServerEnabled

      public void setServerEnabled(boolean serverEnabled)
      Description copied from interface: ConnectionOrientedTransportMapping
      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).
      Specified by:
      setServerEnabled in interface ConnectionOrientedTransportMapping<A extends Address>
      Parameters:
      serverEnabled - if true if the transport will listens for incoming requests after TransportMapping.listen() has been called.
    • closeSockets

      protected void closeSockets(Map<A,​S> sockets)
    • close

      public boolean close(A remoteAddress) throws IOException
      Closes a connection to the supplied remote address, if it is open. This method is particularly useful when not using a timeout for remote connections.
      Specified by:
      close in interface ConnectionOrientedTransportMapping<A extends Address>
      Parameters:
      remoteAddress - the address of the peer socket.
      Returns:
      true if the connection has been closed and false if there was nothing to close.
      Throws:
      IOException - if the remote address cannot be closed due to an IO exception.
      Since:
      1.7.1
    • close

      public void close() throws IOException
      Closes all open sockets and stops the internal server thread that processes messages.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface TransportMapping<A extends Address>
      Specified by:
      close in class AbstractTransportMapping<A extends Address>
      Throws:
      IOException - if any IO operation for the close fails.
    • wakeupServerSelector

      public abstract void wakeupServerSelector()
    • cancelNonServerSelectionKey

      protected void cancelNonServerSelectionKey(SelectionKey sk)
    • getMaxBusyLoops

      protected int getMaxBusyLoops()
    • setMaxBusyLoops

      protected void setMaxBusyLoops(int maxBusyLoops)