public final class SnmpAgentSession
extends java.lang.Object
The agent session is used to receive SNMPv1 Get, GetNext and Set messages. The messages are received on the configured port, or the default(162) port and then decoded using the set ASN.1 codec.
SnmpAgentHandler
Modifier and Type | Class and Description |
---|---|
private class |
SnmpAgentSession.AgentHandler
The internal trap handler class is designed to
receive information from the enclosed SnmpPortal
class.
|
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_PORT
This is the default port where traps should be sent
and received as defined by the RFC.
|
private static java.lang.String |
DEFAULT_WRITE_COMMUNITY
This is the default community string for Gets
|
static int |
ERROR_EXCEPTION
Defines a error due to a thown exception.
|
static int |
ERROR_INVALID_PDU
Defines an error condition with an invalid
PDU.
|
private AsnEncoder |
m_encoder
ASN.1 codec used to encode/decode snmp
traps that are sent and received by this
session.
|
private SnmpAgentHandler |
m_handler
The public trap handler that process
received traps.
|
private SnmpPeer |
m_peer
Used to hold the community strings for validation, and the
agent port to listen on.
|
private int |
m_port
The default port were traps are sent and
received by this session.
|
private SnmpPortal |
m_portal
The default SNMP trap callback handler.
|
private boolean |
m_threadException
If this boolean value is set then the receiver
thread is terminated due to an exception that
was generated in either a handler or a socket
error.
|
private java.lang.Throwable |
m_why
This is the saved fatal exception that
can be rethrown by the application
|
Modifier | Constructor and Description |
---|---|
private |
SnmpAgentSession()
Used to disallow the default constructor.
|
|
SnmpAgentSession(SnmpAgentHandler handler)
The SnmpAgentSession constructor that takes a packet
handler as parameter.
|
|
SnmpAgentSession(SnmpAgentHandler handler,
SnmpPeer peer)
The default SnmpAgentSession constructor that takes a packet
handler and SnmpPeer as parameter.
|
|
SnmpAgentSession(SnmpAgentHandler handler,
SnmpPeer peer,
int numOfThreads)
The SnmpAgentSession constructor that takes a packet
handler, SnmpPeer, numOfThreads as parameter.
|
|
SnmpAgentSession(SnmpAgentHandler handler,
SnmpPeer peer,
int numOfThreads,
int receiveBuffer,
int sendBuffer)
The SnmpAgentSession constructor that takes a packet
handler, SnmpPeer, numOfThreads as parameter.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Used to close the session.
|
AsnEncoder |
getAsnEncoder()
Gets the AsnEncoder for the session.
|
SnmpAgentHandler |
getHandler()
Returns the trap handler for this trap session.
|
void |
raise()
If an exception occurs in the SNMP receiver
thread then raise() will rethrow the exception.
|
void |
send(SnmpPeer peer,
SnmpPduPacket pdu)
Transmits the specified SnmpRequest to the SnmpPeer defined.
|
void |
setAsnEncoder(AsnEncoder encoder)
Sets the default encoder.
|
void |
setHandler(SnmpAgentHandler hdl)
Sets the trap handler for the session.
|
public static final int ERROR_EXCEPTION
Defines a error due to a thown exception. When the SnmpAgentSessionError method is invoked in the trap handler, the exception object is passed as the ref parameter.
SnmpAgentSession#SnmpAgentSessionError
,
Constant Field Valuespublic static final int ERROR_INVALID_PDU
Defines an error condition with an invalid PDU. For the moment this is not actually used, but reserved for future use. When the session trap handler error method is invoke the pdu in error should be passed as the ref parameters
SnmpAgentSession#SnmpAgentSessionError
,
Constant Field Valuespublic static final int DEFAULT_PORT
private static final java.lang.String DEFAULT_WRITE_COMMUNITY
private int m_port
private SnmpPortal m_portal
private AsnEncoder m_encoder
private SnmpAgentHandler m_handler
private boolean m_threadException
private java.lang.Throwable m_why
private SnmpPeer m_peer
private SnmpAgentSession() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
- Thrown if the
constructor is called.public SnmpAgentSession(SnmpAgentHandler handler) throws java.net.SocketException
handler
- The handler associated for message processing.java.net.SocketException
- If thrown it is from the creation
of a DatagramSocket.java.lang.SecurityException
- Thrown if the security manager
disallows the creation of the handler.public SnmpAgentSession(SnmpAgentHandler handler, SnmpPeer peer) throws java.net.SocketException
handler
- The handler associated for message processing.peer
- Specifies the port and community strings.java.net.SocketException
- If thrown it is from the creation
of a DatagramSocket.public SnmpAgentSession(SnmpAgentHandler handler, SnmpPeer peer, int numOfThreads) throws java.net.SocketException
handler
- The handler associated for message processing.peer
- Specifies the port and community strings.numOfThreads
- Specifies the number of threads in thread Pool.java.net.SocketException
- If thrown it is from the creation
of a DatagramSocket.public SnmpAgentSession(SnmpAgentHandler handler, SnmpPeer peer, int numOfThreads, int receiveBuffer, int sendBuffer) throws java.net.SocketException
handler
- The handler associated for message processing.peer
- Specifies the port and community strings.numOfThreads
- Specifies the number of threads in thread Pool.receiveBuffer
- Sets the SO_RCVBUF @see java.net.DatagramSocket#setReceiveBufferSizesendBuffer
- Sets the SO_SNDBUF @see java.net.DatagramSocket#setSendBufferSizejava.net.SocketException
- If thrown it is from the creation
of a DatagramSocket.public SnmpAgentHandler getHandler()
public void setHandler(SnmpAgentHandler hdl)
hdl
- The new packet handlerpublic void setAsnEncoder(AsnEncoder encoder)
encoder
- The new encoderpublic AsnEncoder getAsnEncoder()
public void close()
public void raise() throws java.lang.Throwable
java.lang.Throwable
- The base for thrown
exceptions.public void send(SnmpPeer peer, SnmpPduPacket pdu) throws AsnEncodingException, java.io.IOException
peer
- The remote peer to send to.pdu
- The pdu to transmitSnmpPduEncodingException
- Thrown if an encoding exception
occurs at the session levelAsnEncodingException
- Thrown
if an encoding exception occurs in the AsnEncoder object.java.io.IOException
- Thrown if an error occurs sending the
encoded datagramSnmpRequest
,
SnmpParameters
,
SnmpPeer
Generated by iurt on 2015.