org.snmp4j.transport
Class TcpTransportMapping

java.lang.Object
  extended by org.snmp4j.transport.AbstractTransportMapping
      extended by org.snmp4j.transport.TcpTransportMapping
All Implemented Interfaces:
ConnectionOrientedTransportMapping, TransportMapping
Direct Known Subclasses:
DefaultTcpTransportMapping

public abstract class TcpTransportMapping
extends AbstractTransportMapping
implements ConnectionOrientedTransportMapping

The TcpTransportMapping is the abstract base class for TCP transport mappings.

Version:
1.7
Author:
Frank Fock

Field Summary
protected  TcpAddress tcpAddress
           
 
Fields inherited from class org.snmp4j.transport.AbstractTransportMapping
asyncMsgProcessingSupported, maxInboundMessageSize, transportListener
 
Constructor Summary
TcpTransportMapping(TcpAddress tcpAddress)
           
 
Method Summary
 void addTransportStateListener(TransportStateListener l)
          Adds a transport state listener that is to be informed about connection state changes.
abstract  void close()
          Closes the transport an releases all bound resources synchronously.
protected  void fireConnectionStateChanged(TransportStateEvent change)
           
 TcpAddress getAddress()
          Returns the transport address that is used by this transport mapping for sending and receiving messages.
 Address getListenAddress()
          Returns the address that represents the incoming address this transport mapping uses to listen for incoming packets.
abstract  MessageLengthDecoder getMessageLengthDecoder()
          Returns the MessageLengthDecoder used by this transport mapping.
 java.lang.Class getSupportedAddressClass()
          Gets the Address class that is this transport mapping supports.
abstract  void listen()
          Listen for incoming messages.
 void removeTransportStateListener(TransportStateListener l)
          Removes the supplied transport state listener.
abstract  void sendMessage(Address address, byte[] message)
          Sends a message to the supplied address using this transport.
abstract  void setConnectionTimeout(long connectionTimeout)
          Sets the connection timeout.
abstract  void setMessageLengthDecoder(MessageLengthDecoder messageLengthDecoder)
          Sets the MessageLengthDecoder that decodes the total message length from the header of a message.
 
Methods inherited from class org.snmp4j.transport.AbstractTransportMapping
addMessageDispatcher, addTransportListener, fireProcessMessage, getMaxInboundMessageSize, isAsyncMsgProcessingSupported, removeMessageDispatcher, removeTransportListener, setAsyncMsgProcessingSupported
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.snmp4j.transport.ConnectionOrientedTransportMapping
close
 
Methods inherited from interface org.snmp4j.TransportMapping
addMessageDispatcher, addTransportListener, getMaxInboundMessageSize, isListening, removeMessageDispatcher, removeTransportListener
 

Field Detail

tcpAddress

protected TcpAddress tcpAddress
Constructor Detail

TcpTransportMapping

public TcpTransportMapping(TcpAddress tcpAddress)
Method Detail

getSupportedAddressClass

public java.lang.Class getSupportedAddressClass()
Description copied from interface: TransportMapping
Gets the Address class that is this transport mapping supports.

Specified by:
getSupportedAddressClass in interface TransportMapping
Specified by:
getSupportedAddressClass in class AbstractTransportMapping
Returns:
a subclass of Address.

getAddress

public TcpAddress getAddress()
Returns the transport address that is used by this transport mapping for sending and receiving messages.

Returns:
the Address used by this transport mapping. The returned instance must not be modified!

getListenAddress

public Address getListenAddress()
Description copied from interface: TransportMapping
Returns the address that represents the incoming address this transport mapping uses to listen for incoming packets.

Specified by:
getListenAddress in interface TransportMapping
Returns:
the address for incoming packets or null this transport mapping is not configured to listen for incoming packets.

sendMessage

public abstract void sendMessage(Address address,
                                 byte[] message)
                          throws java.io.IOException
Description copied from interface: TransportMapping
Sends a message to the supplied address using this transport.

Specified by:
sendMessage in interface TransportMapping
Specified by:
sendMessage in class AbstractTransportMapping
Parameters:
address - an Address instance denoting the target address.
message - the whole message as an array of bytes.
Throws:
java.io.IOException

listen

public abstract void listen()
                     throws java.io.IOException
Description copied from interface: TransportMapping
Listen for incoming messages. For connection oriented transports, this method needs to be called before TransportMapping.sendMessage(org.snmp4j.smi.Address, byte[]) is called for the first time.

Specified by:
listen in interface TransportMapping
Specified by:
listen in class AbstractTransportMapping
Throws:
java.io.IOException

close

public abstract void close()
                    throws java.io.IOException
Description copied from interface: TransportMapping
Closes the transport an releases all bound resources synchronously.

Specified by:
close in interface TransportMapping
Specified by:
close in class AbstractTransportMapping
Throws:
java.io.IOException

getMessageLengthDecoder

public abstract MessageLengthDecoder getMessageLengthDecoder()
Returns the MessageLengthDecoder used by this transport mapping.

Specified by:
getMessageLengthDecoder in interface ConnectionOrientedTransportMapping
Returns:
a MessageLengthDecoder instance.
Since:
1.7

setMessageLengthDecoder

public abstract void setMessageLengthDecoder(MessageLengthDecoder messageLengthDecoder)
Sets the MessageLengthDecoder that decodes the total message length from the header of a message.

Specified by:
setMessageLengthDecoder in interface ConnectionOrientedTransportMapping
Parameters:
messageLengthDecoder - a MessageLengthDecoder instance.
Since:
1.7

setConnectionTimeout

public abstract 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
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.
Since:
1.7

addTransportStateListener

public void addTransportStateListener(TransportStateListener l)
Description copied from interface: ConnectionOrientedTransportMapping
Adds a transport state listener that is to be informed about connection state changes.

Specified by:
addTransportStateListener in interface ConnectionOrientedTransportMapping
Parameters:
l - a TransportStateListener.

removeTransportStateListener

public void removeTransportStateListener(TransportStateListener l)
Description copied from interface: ConnectionOrientedTransportMapping
Removes the supplied transport state listener.

Specified by:
removeTransportStateListener in interface ConnectionOrientedTransportMapping
Parameters:
l - a TransportStateListener.

fireConnectionStateChanged

protected void fireConnectionStateChanged(TransportStateEvent change)

Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.