|
JoeSNMP API 0.3.3 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opennms.protocols.snmp.SnmpPortal
Abstracts the communication related details from the SnmpSession and SnmpTrapSession.
SnmpSession
,
SnmpTrapSession
,
DatagramSocket
Nested Class Summary | |
private class |
SnmpPortal.Executor
Defines the inner class, Executor threas, which will be part of thread pool that is used for handling the packet |
private class |
SnmpPortal.Receiver
Defines the inner class that monitors the datagram socket and receives all the PDU responses. |
Field Summary | |
private boolean |
bSocketSoTimeoutRequired
Set to true if it is necessary to set the socket timeout value via the Socket.setSoTimeout() method in order to keep from blocking indefinitely on a socket I/O call. |
static int |
DEFAULT_THREADPOOL_SIZE
|
private java.net.DatagramSocket |
m_comm
The datagram socket used to send and receive SNMP messages. |
private AsnEncoder |
m_encoder
ASN.1 encoder used to decode the SNMP messages. |
private SnmpPacketHandler |
m_handler
The packet handler that is used to process received SNMP packets and invalid datagrams. |
private boolean |
m_isClosing
When set the portal object's close method has been invoked. |
private int |
m_numOfExecutorThreads
the number of executor threads in the thread pool specified during construction of SnmpPortal |
private java.lang.Thread |
m_recvThread
the receiver thread that runs the inner class Receiver. |
(package private) java.util.Vector |
m_threadPool
The thread pool that holds the executor threads |
static int |
MAXIMUM_THREADPOOL_SIZE
|
private static java.lang.String |
PROP_SOCKET_TIMEOUT_PERIOD
Identifies the system property that may be used to specify the number of milliseconds to use for the socket timeout. |
private static java.lang.String |
PROP_SOCKET_TIMEOUT_REQUIRED
Identifies the system property that may be used to specify whether or not a timeout value is set on the SNMP trap socket. |
Constructor Summary | |
private |
SnmpPortal()
Private constructor used to disallow the default constructor. |
(package private) |
SnmpPortal(SnmpPacketHandler handler,
AsnEncoder encoder,
int port)
The SnmpPortal constructor. |
(package private) |
SnmpPortal(SnmpPacketHandler handler,
AsnEncoder encoder,
int port,
java.net.InetAddress laddr)
The SnmpPortal constructor. |
(package private) |
SnmpPortal(SnmpPacketHandler handler,
AsnEncoder encoder,
int port,
java.net.InetAddress laddr,
int numOfThreads)
The SnmpPortal constructor. |
Method Summary | |
(package private) void |
close()
Used to close the session. |
(package private) AsnEncoder |
getAsnEncoder()
Gets the AsnEncoder for the session. |
(package private) SnmpPacketHandler |
getPacketHandler()
Gets the default SnmpPacketHandler for the session. |
(package private) void |
handlePkt(java.net.DatagramPacket pkt)
Recovers a SnmpPduPacket or SnmpPduTrap from the passed datagram and calls the appropriate method in the handler. |
(package private) void |
invokeHandlePkt(java.net.DatagramPacket pkt)
Wrapper for invoking the handlePkt method and handling the necessary exceptions. |
(package private) boolean |
isClosed()
Returns true if this portal has had it's close
method called. |
(package private) void |
send(SnmpPeer peer,
byte[] buf)
Transmits the passed buffer to the respective peer agent. |
(package private) void |
send(SnmpPeer peer,
byte[] buf,
int length)
Transmits the passed buffer to the respective peer agent. |
(package private) void |
setAsnEncoder(AsnEncoder encoder)
Sets the default encoder. |
(package private) void |
setPacketHandler(SnmpPacketHandler hdl)
Sets the default SnmpPacketHandler. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int DEFAULT_THREADPOOL_SIZE
public static final int MAXIMUM_THREADPOOL_SIZE
private SnmpPacketHandler m_handler
private java.net.DatagramSocket m_comm
private java.lang.Thread m_recvThread
private int m_numOfExecutorThreads
java.util.Vector m_threadPool
private AsnEncoder m_encoder
private volatile boolean m_isClosing
private boolean bSocketSoTimeoutRequired
private static final java.lang.String PROP_SOCKET_TIMEOUT_REQUIRED
private static final java.lang.String PROP_SOCKET_TIMEOUT_PERIOD
Constructor Detail |
private SnmpPortal() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
- Always thrown!SnmpPortal(SnmpPacketHandler handler, AsnEncoder encoder, int port) throws java.net.SocketException
handler
- The SNMP packet handler.encoder
- The ASN.1 codec object.port
- The port to send and receive datagram from.
java.net.SocketException
- Thrown if an error occurs setting
up the communication channel.
java.lang.IllegalArgumentException
- Thrown if any of the parameters
are null or invalid.SnmpPortal(SnmpPacketHandler handler, AsnEncoder encoder, int port, java.net.InetAddress laddr) throws java.net.SocketException
handler
- The SNMP packet handler.encoder
- The ASN.1 codec object.port
- The port to send and receive datagram from.laddr
- The local address to bind.
java.net.SocketException
- Thrown if an error occurs setting
up the communication channel.
java.lang.IllegalArgumentException
- Thrown if any of the parameters
are null or invalid.SnmpPortal(SnmpPacketHandler handler, AsnEncoder encoder, int port, java.net.InetAddress laddr, int numOfThreads) throws java.net.SocketException
handler
- The SNMP packet handler.encoder
- The ASN.1 codec object.port
- The port to send and receive datagram from.laddr
- The local address to bind.numOfThreads
- The number of Executor threads in pool.
java.net.SocketException
- Thrown if an error occurs setting
up the communication channel.
java.lang.IllegalArgumentException
- Thrown if any of the parameters
are null or invalid.Method Detail |
void invokeHandlePkt(java.net.DatagramPacket pkt)
pkt
- The datagram packet to be decoded
none
handlePkt
void handlePkt(java.net.DatagramPacket pkt) throws SnmpPduEncodingException, AsnDecodingException
pkt
- The datagram packet to be decoded
SnmpPduEncodingException
- Thrown if a pdu or session level error occurs
AsnDecodingException
- Thrown if the AsnEncoder encounters an errorSnmpPduTrap
,
SnmpPduPacket
,
SnmpPduRequest
,
SnmpPduBulk
,
SnmpParameters
,
AsnEncoder
void send(SnmpPeer peer, byte[] buf, int length) throws java.io.IOException
peer
- The SNMP peer destinationbuf
- The buffer to transmit.length
- The valid length of the buffer
java.lang.IOException
- For more details see
java.net.DatagramSocket.
java.io.IOException
DatagramSocket
void send(SnmpPeer peer, byte[] buf) throws java.io.IOException
peer
- The SNMP peer destinationbuf
- The buffer to transmit.
java.lang.IOException
- For more details see
java.net.DatagramSocket.
java.io.IOException
DatagramSocket
void setPacketHandler(SnmpPacketHandler hdl)
hdl
- The new handlerSnmpPacketHandler getPacketHandler()
void setAsnEncoder(AsnEncoder encoder)
encoder
- The new encoderAsnEncoder getAsnEncoder()
boolean isClosed()
close
method called.
void close()
|
JoeSNMP API 0.3.3 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |