Module org.snmp4j
Package org.snmp4j

Interface Session

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable
    All Known Implementing Classes:
    Snmp

    public interface Session
    extends java.io.Closeable
    Session defines a common interface for all classes that implement SNMP protocol operations based on SNMP4J.
    Version:
    3.1.0
    Author:
    Frank Fock
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void cancel​(PDU request, ResponseListener listener)
      Cancels an asynchronous request.
      void close()
      Closes the session and frees any allocated resources, i.e.
      byte[] getLocalEngineID()
      Gets the local engine ID if the MPv3 is available, otherwise a runtime exception is thrown.
      <A extends Address>
      ResponseEvent<A>
      send​(PDU pdu, Target<A> target)
      Sends a PDU to the given target and returns the received response PDU.
      <A extends Address>
      void
      send​(PDU pdu, Target<A> target, java.lang.Object userHandle, ResponseListener listener)
      Asynchronously sends a PDU to the given target.
      <A extends Address>
      ResponseEvent<A>
      send​(PDU pdu, Target<A> target, TransportMapping<? super A> transport)
      Sends a PDU to the given target and returns the received response PDU encapsulated in a ResponseEvent object that also includes: the transport address of the response sending peer, the Target information of the target, the request PDU, the response PDU (if any).
      <A extends Address>
      void
      send​(PDU pdu, Target<A> target, TransportMapping<? super A> transport, java.lang.Object userHandle, ResponseListener listener)
      Asynchronously sends a PDU to the given target.
      void setLocalEngine​(byte[] engineID, int engineBoots, int engineTime)
      Sets the local engine ID for the SNMP entity represented by this Snmp instance.
    • Method Detail

      • close

        void close()
            throws java.io.IOException
        Closes the session and frees any allocated resources, i.e. sockets. After a Session has been closed it must be used.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException - if the session could not free all resources.
      • send

        <A extends AddressResponseEvent<A> send​(PDU pdu,
                                                  Target<A> target)
                                           throws java.io.IOException
        Sends a PDU to the given target and returns the received response PDU.
        Type Parameters:
        A - the Address type of target and response (i.e., must be the same)
        Parameters:
        pdu - the PDU to send.
        target - the Target instance that specifies how and where to send the PDU.
        Returns:
        the received response encapsulated in a ResponseEvent instance. To obtain the received response PDU call ResponseEvent.getResponse(). If the request timed out, that method will return null. If the sent pdu is an unconfirmed PDU (notification, response, or report), then null will be returned.
        Throws:
        java.io.IOException - if the message could not be send.
      • send

        <A extends Address> void send​(PDU pdu,
                                      Target<A> target,
                                      java.lang.Object userHandle,
                                      ResponseListener listener)
                               throws java.io.IOException
        Asynchronously sends a PDU to the given target. The response is then returned by calling the supplied ResponseListener instance.
        Type Parameters:
        A - the Address type of target and response (i.e., must be the same)
        Parameters:
        pdu - the PDU instance to send.
        target - the Target instance representing the target SNMP engine where to send the pdu.
        userHandle - an user defined handle that is returned when the request is returned via the listener object.
        listener - a ResponseListener instance that is called when pdu is a confirmed PDU and the request is either answered or timed out.
        Throws:
        java.io.IOException - if the message could not be send.
      • send

        <A extends AddressResponseEvent<A> send​(PDU pdu,
                                                  Target<A> target,
                                                  TransportMapping<? super A> transport)
                                           throws java.io.IOException
        Sends a PDU to the given target and returns the received response PDU encapsulated in a ResponseEvent object that also includes:
        • the transport address of the response sending peer,
        • the Target information of the target,
        • the request PDU,
        • the response PDU (if any).
        Type Parameters:
        A - the target Address type.
        Parameters:
        pdu - the PDU instance to send.
        target - the Target instance representing the target SNMP engine where to send the pdu.
        transport - specifies the TransportMapping to be used when sending the PDU. If transport is null, the associated message dispatcher will try to determine the transport mapping by the target's address.
        Returns:
        the received response encapsulated in a ResponseEvent instance. To obtain the received response PDU call ResponseEvent.getResponse(). If the request timed out, that method will return null. If the sent pdu is an unconfirmed PDU (notification, response, or report), then null will be returned.
        Throws:
        java.io.IOException - if the message could not be send.
      • send

        <A extends Address> void send​(PDU pdu,
                                      Target<A> target,
                                      TransportMapping<? super A> transport,
                                      java.lang.Object userHandle,
                                      ResponseListener listener)
                               throws java.io.IOException
        Asynchronously sends a PDU to the given target. The response is then returned by calling the supplied ResponseListener instance.
        Type Parameters:
        A - the target Address type.
        Parameters:
        pdu - the PDU instance to send.
        target - the Target instance representing the target SNMP engine where to send the pdu.
        transport - specifies the TransportMapping to be used when sending the PDU. If transport is null, the associated message dispatcher will try to determine the transport mapping by the target's address.
        userHandle - an user defined handle that is returned when the request is returned via the listener object.
        listener - a ResponseListener instance that is called when pdu is a confirmed PDU and the request is either answered or timed out.
        Throws:
        java.io.IOException - if the message could not be send.
      • setLocalEngine

        void setLocalEngine​(byte[] engineID,
                            int engineBoots,
                            int engineTime)
        Sets the local engine ID for the SNMP entity represented by this Snmp instance. This is a convenience method that sets the local engine ID in the associated MPv3 and USM.
        Parameters:
        engineID - a byte array containing the local engine ID. The length and content has to comply with the constraints defined in the SNMP-FRAMEWORK-MIB.
        engineBoots - the number of boots of this SNMP engine (zero based).
        engineTime - the number of seconds since the value of engineBoots last changed.
        Since:
        3.0
      • getLocalEngineID

        byte[] getLocalEngineID()
        Gets the local engine ID if the MPv3 is available, otherwise a runtime exception is thrown.
        Returns:
        byte[] the local engine ID.
        Since:
        3.0