Interface Request<S,R,U extends SubRequest<U>>

  • Type Parameters:
    S - source object that trigger the Request creation.
    R - the response object returned by this Request.
    U - the SubRequest sub-type used to process this request.
    All Known Implementing Classes:
    AbstractRequest, SnmpRequest

    public interface Request<S,R,U extends SubRequest<U>>
    The Request interface defines common elements of SNMP related operation requests.
    Version:
    1.2
    Author:
    Frank Fock
    • Method Detail

      • find

        U find​(org.snmp4j.smi.OID prefix)
        Finds the first sub-request whose OID starts with the supplied one.
        Parameters:
        prefix - the OID prefix of the sub-request OID.
        Returns:
        the first SubRequest instance of this request whose OID starts with prefix. If no such sub-request exits null is returned.
      • getResponse

        R getResponse()
        Returns the response object for this request.
        Returns:
        an object containing the response for this request.
      • isComplete

        boolean isComplete()
        Checks whether the response for this request is complete.
        Returns:
        true if all required data has been collected to create a response for this request, false otherwise.
      • isPhaseComplete

        boolean isPhaseComplete()
        Checks whether the current phase is complete.
        Returns:
        true if all required processing has been finished for the current request phase. For single phase request types this method returns the same result as isComplete().
      • getSource

        S getSource()
        Returns the initiating event object for the request.
        Returns:
        an Object instance on whose behalf this request has been initiated.
      • getContext

        org.snmp4j.smi.OctetString getContext()
        Gets the context of the request.
        Returns:
        an OctetString instance.
      • get

        U get​(int index)
        Gets the sub-request at the specified index.
        Parameters:
        index - an index >= 0 and < size()
        Returns:
        a SnmpSubRequest instance.
      • size

        int size()
        Gets the number of sub-requests in this request. For GETBULK requests this number may increase over time.
        Returns:
        a positive integer (greater or equal to zero).
      • getPhase

        int getPhase()
        Gets the phase identifier of the current Two-Phase-Commit (2PC) phase of this request.
        Returns:
        a 2PC identifier
      • nextPhase

        int nextPhase()
               throws NoSuchElementException
        Initializes next phase and returns its identifier.
        Returns:
        a phase identifier.
        Throws:
        NoSuchElementException - if there is no next phase for this type of request.
      • iterator

        Iterator<U> iterator()
        Returns an Iterator over the sub-requests of this request.
        Returns:
        an Iterator
      • setViewName

        void setViewName​(org.snmp4j.smi.OctetString viewName)
      • getViewName

        org.snmp4j.smi.OctetString getViewName()
      • getSecurityName

        org.snmp4j.smi.OctetString getSecurityName()
      • getMessageProcessingModel

        int getMessageProcessingModel()
      • getSecurityModel

        int getSecurityModel()
      • getSecurityLevel

        int getSecurityLevel()
      • getViewType

        int getViewType()
      • setErrorStatus

        void setErrorStatus​(int errorStatus)
      • getErrorStatus

        int getErrorStatus()
      • getErrorIndex

        int getErrorIndex()
      • getTransactionID

        int getTransactionID()
      • resetProcessedStatus

        void resetProcessedStatus()
        Set the processed status of each (incomplete) sub-request to false.
      • getReprocessCounter

        int getReprocessCounter()
        Returns the value of the reprocessing counter associated with this request. The reprocessing counter can be used to detect and handle endless-loop errors caused by instrumentation code not setting the completion status of a sub-request correctly.
        Returns:
        0 after the initial (and normally last) processing iteration and n after the n-th reprocessing iteration.
        See Also:
        incReprocessCounter()
      • incReprocessCounter

        void incReprocessCounter()
        Increments the reprocess counter by one.
        See Also:
        getReprocessCounter()
      • getProcessingUserObject

        Object getProcessingUserObject​(Object key)
        Gets the processing user object for the specified key. By default there is no such object associated with a request, but ManagedObjects may put their own objects into the request (for example to avoid unnecessary updates on behalf of the same request).
        Parameters:
        key - an Object.
        Returns:
        the associated Object or null if their exists no such association.
        Since:
        1.2
      • setProcessingUserObject

        Object setProcessingUserObject​(Object key,
                                       Object value)
        Sets an user object association.
        Parameters:
        key - a key Object.
        value - a value Object associated with key.
        Returns:
        the previous value associated with key or null if no such association existed.
        Since:
        1.2