|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.snmp4j.transport.AbstractTransportMapping
org.snmp4j.transport.TcpTransportMapping
org.snmp4j.transport.DefaultTcpTransportMapping
public class DefaultTcpTransportMapping
The DefaultTcpTransportMapping implements a TCP transport
mapping with the Java 1.4 new IO API.
It uses a single thread for processing incoming and outgoing messages.
The thread is started when the listen method is called, or
when an outgoing request is sent using the sendMessage method.
| Nested Class Summary | |
|---|---|
static class |
DefaultTcpTransportMapping.SnmpMesssageLengthDecoder
|
| Field Summary |
|---|
| Fields inherited from class org.snmp4j.transport.TcpTransportMapping |
|---|
tcpAddress |
| Fields inherited from class org.snmp4j.transport.AbstractTransportMapping |
|---|
asyncMsgProcessingSupported, maxInboundMessageSize, transportListener |
| Constructor Summary | |
|---|---|
DefaultTcpTransportMapping()
Creates a default TCP transport mapping with the server for incoming messages disabled. |
|
DefaultTcpTransportMapping(TcpAddress serverAddress)
Creates a default TCP transport mapping that binds to the given address (interface) on the local host. |
|
| Method Summary | |
|---|---|
void |
close()
Closes all open sockets and stops the internal server thread that processes messages. |
boolean |
close(Address remoteAddress)
Closes a connection to the supplied remote address, if it is open. |
long |
getConnectionTimeout()
Gets the connection timeout. |
int |
getMaxInboundMessageSize()
Gets the inbound buffer size for incoming requests. |
MessageLengthDecoder |
getMessageLengthDecoder()
Returns the MessageLengthDecoder used by this transport
mapping. |
int |
getPriority()
Returns the priority of the internal listen thread. |
java.lang.String |
getThreadName()
Returns the name of the listen thread. |
boolean |
isListening()
Returns true if the transport mapping is listening for
incoming messages. |
boolean |
isServerEnabled()
Checks whether a server for incoming requests is enabled. |
void |
listen()
Listen for incoming and outgoing requests. |
void |
sendMessage(Address address,
byte[] message)
Sends a SNMP message to the supplied address. |
void |
setConnectionTimeout(long connectionTimeout)
Sets the connection timeout. |
void |
setMaxInboundMessageSize(int maxInboundMessageSize)
Sets the maximum buffer size for incoming requests. |
void |
setMessageLengthDecoder(MessageLengthDecoder messageLengthDecoder)
Sets the message length decoder. |
void |
setPriority(int newPriority)
Changes the priority of the server thread for this TCP transport mapping. |
void |
setServerEnabled(boolean serverEnabled)
Sets whether a server for incoming requests should be created when the transport is set into listen state. |
protected void |
setSocketOptions(java.net.ServerSocket serverSocket)
Sets optional server socket options. |
void |
setThreadName(java.lang.String name)
Sets the name of the listen thread for this UDP transport mapping. |
| Methods inherited from class org.snmp4j.transport.TcpTransportMapping |
|---|
addTransportStateListener, fireConnectionStateChanged, getAddress, getListenAddress, getSupportedAddressClass, removeTransportStateListener |
| Methods inherited from class org.snmp4j.transport.AbstractTransportMapping |
|---|
addMessageDispatcher, addTransportListener, fireProcessMessage, 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.TransportMapping |
|---|
addMessageDispatcher, addTransportListener, removeMessageDispatcher, removeTransportListener |
| Constructor Detail |
|---|
public DefaultTcpTransportMapping()
throws java.net.UnknownHostException,
java.io.IOException
java.net.UnknownHostException
java.io.IOException - on failure of binding a local port.
public DefaultTcpTransportMapping(TcpAddress serverAddress)
throws java.net.UnknownHostException,
java.io.IOException
serverAddress - the TcpAddress instance that describes the server address to listen
on incoming connection requests.
java.net.UnknownHostException - if the specified interface does not exist.
java.io.IOException - if the given address cannot be bound.| Method Detail |
|---|
public void listen()
throws java.io.IOException
serverEnabled
member is false the server for incoming requests is not
started. This starts the internal server thread that processes messages.
listen in interface TransportMappinglisten in class TcpTransportMappingjava.net.SocketException - when the transport is already listening for incoming/outgoing messages.
java.io.IOExceptionpublic void setPriority(int newPriority)
listen() has been
called for this transport mapping or if SNMP4J is configured to use
a non-default thread factory.
newPriority - the new priority.Thread.setPriority(int)public int getPriority()
Thread.MIN_PRIORITY and
Thread.MAX_PRIORITY.public void setThreadName(java.lang.String name)
listen() has been
called for this transport mapping.
name - the new thread name.public java.lang.String getThreadName()
null.public void close()
close in interface TransportMappingclose in class TcpTransportMapping
public boolean close(Address remoteAddress)
throws java.io.IOException
remoteAddress - the address of the peer socket.
true if the connection has been closed and
false if there was nothing to close.
java.io.IOException - if the remote address cannot be closed due to an IO exception.
public void sendMessage(Address address,
byte[] message)
throws java.io.IOException
sendMessage in interface TransportMappingsendMessage in class TcpTransportMappingaddress - an TcpAddress. A ClassCastException is thrown
if address is not a TcpAddress instance.message - byte[]
the message to sent.
java.io.IOExceptionpublic long getConnectionTimeout()
public void setConnectionTimeout(long connectionTimeout)
setConnectionTimeout in interface ConnectionOrientedTransportMappingsetConnectionTimeout in class TcpTransportMappingconnectionTimeout - 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.public boolean isServerEnabled()
public MessageLengthDecoder getMessageLengthDecoder()
TcpTransportMappingMessageLengthDecoder used by this transport
mapping.
getMessageLengthDecoder in interface ConnectionOrientedTransportMappinggetMessageLengthDecoder in class TcpTransportMappingpublic void setServerEnabled(boolean serverEnabled)
listen() method is called (if the transport is already
listening, close() has to be called before).
serverEnabled - if true if the transport will listens for incoming
requests after listen() has been called.public void setMessageLengthDecoder(MessageLengthDecoder messageLengthDecoder)
DefaultTcpTransportMapping.SnmpMesssageLengthDecoder. The message length decoder must be
able to decode the total length of a message for this transport mapping
protocol(s).
setMessageLengthDecoder in interface ConnectionOrientedTransportMappingsetMessageLengthDecoder in class TcpTransportMappingmessageLengthDecoder - a MessageLengthDecoder instance.public int getMaxInboundMessageSize()
getMaxInboundMessageSize in interface TransportMappinggetMaxInboundMessageSize in class AbstractTransportMappingpublic void setMaxInboundMessageSize(int maxInboundMessageSize)
maxInboundMessageSize - the length of the inbound buffer in bytes.public boolean isListening()
TransportMappingtrue if the transport mapping is listening for
incoming messages. For connection oriented transport mappings this
is a prerequisite to be able to send SNMP messages. For connectionless
transport mappings it is a prerequisite to be able to receive responses.
true if this transport mapping is listening for messages.protected void setSocketOptions(java.net.ServerSocket serverSocket)
serverSocket - the ServerSocket to apply additional non-default options.
|
Copyright 2003-2009 Frank Fock and Jochen Katz (SNMP4J.org) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||