java.lang.Object
org.snmp4j.agent.request.AbstractRequest<SnmpRequest.SnmpSubRequest,org.snmp4j.CommandResponderEvent<?>,org.snmp4j.PDU>
org.snmp4j.agent.request.SnmpRequest
- All Implemented Interfaces:
Serializable
,Request<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
public class SnmpRequest
extends AbstractRequest<SnmpRequest.SnmpSubRequest,org.snmp4j.CommandResponderEvent<?>,org.snmp4j.PDU>
implements Serializable
The
SnmpRequest
class implements requests from a SNMP source.- Version:
- 3.6.5
- Author:
- Frank Fock
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
The SnmpSubRequest represents a single variable binding request of an SNMP PDU.class
TheSnmpRequest.SnmpSubRequestIterator
implements an iterator over the GETBULK repetitions of a subrequest.class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final org.snmp4j.smi.OctetString
protected static int
protected int
Fields inherited from class org.snmp4j.agent.request.AbstractRequest
errorStatus, phase, repeaterRowSize, repeaterStartIndex, reprocessCounter, response, source, subrequests, transactionID
Fields inherited from interface org.snmp4j.agent.request.Request
PHASE_1PC, PHASE_2PC_CLEANUP, PHASE_2PC_COMMIT, PHASE_2PC_PREPARE, PHASE_2PC_UNDO, PHASE_INIT
-
Constructor Summary
ConstructorDescriptionSnmpRequest
(org.snmp4j.CommandResponderEvent<?> request, CoexistenceInfo cinfo) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
int
Returns the number of repetitions that are complete.org.snmp4j.smi.OctetString
Gets the context of the request.int
protected int
int
static int
Gets the upper limit for maxRepetitions handled bySnmpRequest
instances.int
int
Gets the processing user object for the specified key.int
org.snmp4j.PDU
Return the response PDU.int
int
org.snmp4j.smi.OctetString
int
org.snmp4j.smi.OctetString
int
static int
getViewType
(int pduType) Returns the VACM view type for the supplied PDU type.protected boolean
is2PC()
boolean
boolean
Checks whether the current phase is complete.iterator()
Returns anIterator
over the sub-requests of this request.static int
static void
setMaxRepetitionsLimit
(int maxRepetitionsLimit) Sets the upper limit for maxRepetitions handled bySnmpRequest
instances.setProcessingUserObject
(Object key, Object value) Sets an user object association.void
setRequestEvent
(org.snmp4j.CommandResponderEvent<?> source) protected void
void
setViewName
(org.snmp4j.smi.OctetString viewName) int
size()
Gets the number of sub-requests in this request.Methods inherited from class org.snmp4j.agent.request.AbstractRequest
equals, find, get, getErrorStatus, getPhase, getReprocessCounter, getSource, hashCode, incReprocessCounter, initSubRequests, isComplete, nextPhase, resetCompletionStatus, resetProcessedStatus, setErrorStatus, setPhase, toString
-
Field Details
-
DEFAULT_CONTEXT
public static final org.snmp4j.smi.OctetString DEFAULT_CONTEXT -
processingUserObjects
-
maxRepetitionsWithLimit
protected int maxRepetitionsWithLimit -
maxRepetitionsLimit
protected static int maxRepetitionsLimit
-
-
Constructor Details
-
SnmpRequest
-
-
Method Details
-
nextTransactionID
public static int nextTransactionID() -
setupSubRequests
protected void setupSubRequests()- Specified by:
setupSubRequests
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU>
-
getCompleteRepetitions
public int getCompleteRepetitions()Returns the number of repetitions that are complete.- Returns:
- the minimum
r
for which alli<r*(pduSize-nonRepeaters)
SubRequest
s returned byAbstractRequest.get(int i)
return true onSubRequest.isComplete()
.
-
getMaxRepetitions
public int getMaxRepetitions() -
getNonRepeaters
public int getNonRepeaters() -
getMaxPhase
protected int getMaxPhase()- Specified by:
getMaxPhase
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU>
-
size
public int size()Description copied from interface:Request
Gets the number of sub-requests in this request. For GETBULK requests this number may increase over time.- Specified by:
size
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Returns:
- a positive integer (greater or equal to zero).
-
setRequestEvent
public void setRequestEvent(org.snmp4j.CommandResponderEvent<?> source) -
assignErrorStatus2Response
protected void assignErrorStatus2Response() -
getResponse
public org.snmp4j.PDU getResponse()Return the response PDU.- Specified by:
getResponse
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Overrides:
getResponse
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU> - Returns:
- the PDU received as response.
-
iterator
Description copied from interface:Request
Returns anIterator
over the sub-requests of this request.- Specified by:
iterator
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Returns:
- an
Iterator
-
iteratorSortedByVariableBindingOID
-
is2PC
protected boolean is2PC() -
getContext
public org.snmp4j.smi.OctetString getContext()Description copied from interface:Request
Gets the context of the request.- Specified by:
getContext
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Returns:
- an
OctetString
instance.
-
getViewName
public org.snmp4j.smi.OctetString getViewName()- Specified by:
getViewName
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
setViewName
public void setViewName(org.snmp4j.smi.OctetString viewName) - Specified by:
setViewName
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getSecurityLevel
public int getSecurityLevel()- Specified by:
getSecurityLevel
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getSecurityModel
public int getSecurityModel()- Specified by:
getSecurityModel
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getSecurityName
public org.snmp4j.smi.OctetString getSecurityName()- Specified by:
getSecurityName
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getViewType
public int getViewType()- Specified by:
getViewType
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getViewType
public static int getViewType(int pduType) Returns the VACM view type for the supplied PDU type.- Parameters:
pduType
- a PDU type.- Returns:
- the corresponding VACM view type.
-
addRepeaterSubRequest
protected void addRepeaterSubRequest() -
getErrorIndex
public int getErrorIndex()- Specified by:
getErrorIndex
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Overrides:
getErrorIndex
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU>
-
getTransactionID
public int getTransactionID()- Specified by:
getTransactionID
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Overrides:
getTransactionID
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU>
-
getCoexistenceInfo
-
getMessageProcessingModel
public int getMessageProcessingModel()- Specified by:
getMessageProcessingModel
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest>
-
getRepeaterCount
public int getRepeaterCount() -
isPhaseComplete
public boolean isPhaseComplete()Description copied from interface:Request
Checks whether the current phase is complete.- Specified by:
isPhaseComplete
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - 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 asRequest.isComplete()
.
-
isBulkRequest
public boolean isBulkRequest()- Specified by:
isBulkRequest
in classAbstractRequest<SnmpRequest.SnmpSubRequest,
org.snmp4j.CommandResponderEvent<?>, org.snmp4j.PDU>
-
getProcessingUserObject
Description copied from interface:Request
Gets the processing user object for the specified key. By default there is no such object associated with a request, butManagedObject
s may put their own objects into the request (for example to avoid unnecessary updates on behalf of the same request).- Specified by:
getProcessingUserObject
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Parameters:
key
- an Object.- Returns:
- the associated Object or
null
if their exists no such association.
-
setProcessingUserObject
Description copied from interface:Request
Sets an user object association.- Specified by:
setProcessingUserObject
in interfaceRequest<org.snmp4j.CommandResponderEvent<?>,
org.snmp4j.PDU, SnmpRequest.SnmpSubRequest> - Parameters:
key
- a key Object.value
- a value Object associated withkey
.- Returns:
- the previous value associated with
key
ornull
if no such association existed.
-
getMaxRepetitionsLimit
public static int getMaxRepetitionsLimit()Gets the upper limit for maxRepetitions handled bySnmpRequest
instances.- Returns:
- the upper limit of
maxRepetitions
processed. - Since:
- 3.6.5
-
setMaxRepetitionsLimit
public static void setMaxRepetitionsLimit(int maxRepetitionsLimit) Sets the upper limit for maxRepetitions handled bySnmpRequest
instances.- Parameters:
maxRepetitionsLimit
- an upper limit ofmaxRepetitions
processed. Must be less thanShort.MAX_VALUE
and greater than one.- Since:
- 3.6.5
-