OpenNMS API 1.2.9

## org.opennms.protocols.snmp
Class SnmpTrapSession

    java.lang.Object
      org.opennms.protocols.snmp.SnmpTrapSession

public final class SnmpTrapSession
extends java.lang.Object

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.

Version:
  1.1.1.1 2001/11/11 17:27:22
Author:
  OpenNMS , Brian Weaver , Sowmya
See Also:
  `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

### ERROR_EXCEPTION

    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.

  See Also:
    `SnmpTrapHandler.snmpTrapSessionError(org.opennms.protocols.snmp.SnmpTrapSession, int, java.lang.Object)`, Constant Field Values

### ERROR_INVALID_PDU

    public 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

  See Also:
    `SnmpTrapHandler.snmpTrapSessionError(org.opennms.protocols.snmp.SnmpTrapSession, int, java.lang.Object)`, Constant Field Values

### DEFAULT_PORT

    public static final int DEFAULT_PORT

  This is the default port where traps should be sent and received as defined by the RFC.

  See Also:
    Constant Field Values

### m_port

    private int m_port

  The default port were traps are sent and received by this session.

### m_portal

    private SnmpPortal m_portal

  The default SNMP trap callback handler. If this is not set and it is needed then an SnmpHandlerNotDefinedException is thrown.

### m_encoder

    private AsnEncoder m_encoder

  ASN.1 codec used to encode/decode snmp traps that are sent and received by this session.

### m_handler

    private SnmpTrapHandler m_handler

  The public trap handler that process received traps.

### m_threadException

    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. This is considered a fatal exception.

### m_why

    private java.lang.Throwable m_why

  This is the saved fatal exception that can be rethrown by the application

Constructor Detail

### SnmpTrapSession

    private SnmpTrapSession()
                     throws java.lang.UnsupportedOperationException

  Used to disallow the default constructor.

Throws:
  `java.lang.UnsupportedOperationException` - Thrown if the constructor is called.

### SnmpTrapSession

    public SnmpTrapSession(SnmpTrapHandler handler)
                    throws java.net.SocketException

  The default SnmpTrapSession constructor.

Parameters:
  `handler` - The handler associated for message processing.
Throws:
  `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.

### SnmpTrapSession

    public SnmpTrapSession(SnmpTrapHandler handler,
                           int port)
                    throws java.net.SocketException

  The default SnmpTrapSession constructor that takes a packet handler as parameter. Also changes the default port to listen on

Throws:
  `java.net.SocketException` - If thrown it is from the creation of a DatagramSocket.

Method Detail

### getHandler

    public SnmpTrapHandler getHandler()

  Returns the trap handler for this trap session.

  Returns:
    The SnmpTrapHandler

### setHandler

    public void setHandler(SnmpTrapHandler hdl)

  Sets the trap handler for the session.

  Parameters:
    `hdl` - The new packet handler

### setAsnEncoder

    public void setAsnEncoder(AsnEncoder encoder)

  Sets the default encoder.

  Parameters:
    `encoder` - The new encoder

### getAsnEncoder

    public AsnEncoder getAsnEncoder()

  Gets the AsnEncoder for the session.

  Returns:
    the AsnEncoder

### isClosed

    public boolean isClosed()

  Returns true if the `close` method has been called. The session cannot be used to send request after `close` has been executed.

### close

    public void close()

  Used to close the session. Once called the session should be considered invalid and unusable.

  Throws:
    `java.lang.IllegalStateException` - Thrown if the session was already closed.

### raise

    public void raise()
               throws java.lang.Throwable

  If an exception occurs in the SNMP receiver thread then raise() will rethrow the exception.

  Throws:
    `java.lang.Throwable` - The base for thrown exceptions.

### send

    public void send(SnmpPeer peer,
                     SnmpPduTrap trap)
              throws SnmpPduEncodingException,
                     AsnEncodingException,
                     java.io.IOException

  Transmits the specified SnmpPduTrap to the SnmpPeer defined The SnmpPduTrap is encoded using the peer AsnEncoder, as defined by the SnmpParameters. Once the packet is encoded it is transmitted to the agent defined by SnmpPeer. If an error occurs an appropiate exception is generated.

  Parameters:
    `peer` - The remote peer to send to.
    `trap` - The SnmpPduTrap to transmit
  Throws:
    `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.
  See Also:
    `SnmpRequest`, `SnmpParameters`, `SnmpPeer`

### send

    public void send(SnmpPeer peer,
                     SnmpPduPacket pdu)
              throws SnmpPduEncodingException,
                     AsnEncodingException,
                     java.io.IOException

  Transmits the specified SnmpRequest to the SnmpPeer defined. First the SnmpPdu contained within the request is encoded using the peer AsnEncoder, as defined by the SnmpParameters. Once the packet is encoded it is transmitted to the agent defined by SnmpPeer. If an error occurs an appropiate exception is generated.

  Parameters:
    `peer` - The remote peer to send to.
    `pdu` - The pdu to transmit
  Throws:
    `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.
  See Also:
    `SnmpRequest`, `SnmpParameters`, `SnmpPeer`

OpenNMS API 1.2.9

Generated by ranger on May 19 2007 2335.