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
  • Field Details

  • Method Details

    • 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.
    • setPhase

      void setPhase(int phase) throws NoSuchElementException
      Sets the request phase.
      Parameters:
      phase - a phase identifier.
      Throws:
      NoSuchElementException - if there is no such 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

      void incReprocessCounter()
      Increments the reprocess counter by one.
      See Also:
    • 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