|
OpenNMS API 1.2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opennms.protocols.snmp.SnmpTrapSession
The trap session is used to send and receives SNMPv1 & v2 trap messages. The messages are received on the configured port, or the default(162) port and then decoded using the set ASN.1 codec. When messages are sent they are encoded using the passed SnmpParameters object that is part of the SnmpPeer object.
A trap message handler must be bound to the session in order to send or receive messages.
SnmpTrapHandler
Nested Class Summary | |
private class |
SnmpTrapSession.TrapHandler
The internal trap handler class is designed to receive information from the enclosed SnmpPortal class. |
Field Summary | |
static int |
DEFAULT_PORT
This is the default port where traps should be sent and received as defined by the RFC. |
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 SnmpTrapHandler |
m_handler
The public trap handler that process received traps. |
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 |
Constructor Summary | |
private |
SnmpTrapSession()
Used to disallow the default constructor. |
|
SnmpTrapSession(SnmpTrapHandler handler)
The default SnmpTrapSession constructor. |
|
SnmpTrapSession(SnmpTrapHandler handler,
int port)
The default SnmpTrapSession constructor that takes a packet handler as parameter. |
Method Summary | |
void |
close()
Used to close the session. |
AsnEncoder |
getAsnEncoder()
Gets the AsnEncoder for the session. |
SnmpTrapHandler |
getHandler()
Returns the trap handler for this trap session. |
boolean |
isClosed()
Returns true if the close method has been called. |
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 |
send(SnmpPeer peer,
SnmpPduTrap trap)
Transmits the specified SnmpPduTrap to the SnmpPeer defined The SnmpPduTrap is encoded using the peer AsnEncoder, as defined by the SnmpParameters. |
void |
setAsnEncoder(AsnEncoder encoder)
Sets the default encoder. |
void |
setHandler(SnmpTrapHandler hdl)
Sets the trap handler for the session. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ERROR_EXCEPTION
Defines a error due to a thown exception. When the snmpTrapSessionError method is invoked in the trap handler, the exception object is passed as the ref parameter.
SnmpTrapHandler.snmpTrapSessionError(org.opennms.protocols.snmp.SnmpTrapSession, int, java.lang.Object)
,
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
SnmpTrapHandler.snmpTrapSessionError(org.opennms.protocols.snmp.SnmpTrapSession, int, java.lang.Object)
,
Constant Field Valuespublic static final int DEFAULT_PORT
private int m_port
private SnmpPortal m_portal
private AsnEncoder m_encoder
private SnmpTrapHandler m_handler
private boolean m_threadException
private java.lang.Throwable m_why
Constructor Detail |
private SnmpTrapSession() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
- Thrown if the constructor is called.public SnmpTrapSession(SnmpTrapHandler 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 SnmpTrapSession(SnmpTrapHandler handler, int port) throws java.net.SocketException
java.net.SocketException
- If thrown it is from the creation of a DatagramSocket.Method Detail |
public SnmpTrapHandler getHandler()
public void setHandler(SnmpTrapHandler hdl)
hdl
- The new packet handlerpublic void setAsnEncoder(AsnEncoder encoder)
encoder
- The new encoderpublic AsnEncoder getAsnEncoder()
public boolean isClosed()
close
method has been called. The
session cannot be used to send request after close
has
been executed.
public void close()
java.lang.IllegalStateException
- Thrown if the session was already closed.public void raise() throws java.lang.Throwable
java.lang.Throwable
- The base for thrown exceptions.public void send(SnmpPeer peer, SnmpPduTrap trap) throws SnmpPduEncodingException, AsnEncodingException, java.io.IOException
peer
- The remote peer to send to.trap
- The SnmpPduTrap to transmit
SnmpPduEncodingException
- Thrown if an encoding exception occurs at the session
level
AsnEncodingException
- Thrown if an encoding exception occurs in the AsnEncoder
object.
java.io.IOException
- Thrown if an error occurs sending the encoded datagram
java.lang.IllegalStateException
- Thrown if the session has been closed.SnmpRequest
,
SnmpParameters
,
SnmpPeer
public void send(SnmpPeer peer, SnmpPduPacket pdu) throws SnmpPduEncodingException, AsnEncodingException, java.io.IOException
peer
- The remote peer to send to.pdu
- The pdu to transmit
SnmpPduEncodingException
- Thrown if an encoding exception occurs at the session
level
AsnEncodingException
- Thrown if an encoding exception occurs in the AsnEncoder
object.
java.io.IOException
- Thrown if an error occurs sending the encoded datagram
java.lang.IllegalStateException
- Thrown if the session has been closed.SnmpRequest
,
SnmpParameters
,
SnmpPeer
|
OpenNMS API 1.2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |