- java.lang.Object
-
- org.snmp4j.agent.mo.snmp4j.MOSubtreeProxy
-
- All Implemented Interfaces:
ManagedObject<SubRequest<?>>
,GenericManagedObject
public class MOSubtreeProxy extends Object implements GenericManagedObject
In contrast toProxyForwarder
, the MOSubtreeProxy provides a proxy implementation for a single subtree based on the configuration provided by theSnmp4jProxyMib
SnmpProxyMIB
andSnmpTargetMIB
.- Since:
- 2.0
- Version:
- 3.2
- Author:
- Frank Fock
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MOSubtreeProxy.OIDTranslator
-
Constructor Summary
Constructors Constructor Description MOSubtreeProxy(org.snmp4j.Session session, SnmpTargetMIB targetMIB, org.snmp4j.smi.OctetString proxyName, org.snmp4j.smi.OID subtreeOID, org.snmp4j.smi.OctetString contextEngineID, org.snmp4j.smi.OctetString contextName, org.snmp4j.smi.OctetString targetName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanup(SubRequest<?> request)
Cleansup a (sub)request and frees all resources locked during the preparation phase.void
commit(SubRequest<?> request)
Commits a previously prepared SET (sub)request.org.snmp4j.smi.OID
find(MOScope range)
Finds the first object ID (OID) in the specified search range.void
get(SubRequest<?> request)
Processes a GET request and return the result in the supplied sub-request.MOAccess
getAccess()
org.snmp4j.smi.OctetString
getProxyName()
MOScope
getScope()
Returns the scope of object identifiers this managed object is managing.OIDTranslation
getTranslation()
boolean
isUndoEnabled()
Returns whether undo of SET operations should be supported by this sub-tree proxy or not.boolean
next(SubRequest<?> request)
Finds the successor instance for the object instance ID (OID) given by the supplied sub-request and returns it within the supplied sub-request object.void
prepare(SubRequest<?> request)
Prepares a SET (sub)request.void
setAccess(MOAccess access)
void
setTargetSubtree(org.snmp4j.smi.OID remoteSubtree)
Sets the remote sub-tree OID for the translation between local agent OID and remote agent OID.void
setTranslation(OIDTranslation translation)
Sets a OID translation.void
setUndoEnabled(boolean undoEnabled)
Enables or disables undo support for SET operations.String
toString()
void
undo(SubRequest<?> request)
Compensates (undo) a (sub)request when a commit of another subrequest failed with an error.
-
-
-
Constructor Detail
-
MOSubtreeProxy
public MOSubtreeProxy(org.snmp4j.Session session, SnmpTargetMIB targetMIB, org.snmp4j.smi.OctetString proxyName, org.snmp4j.smi.OID subtreeOID, org.snmp4j.smi.OctetString contextEngineID, org.snmp4j.smi.OctetString contextName, org.snmp4j.smi.OctetString targetName)
-
-
Method Detail
-
getScope
public MOScope getScope()
Description copied from interface:ManagedObject
Returns the scope of object identifiers this managed object is managing.- Specified by:
getScope
in interfaceManagedObject<SubRequest<?>>
- Returns:
- the
MOScope
that defines a range (possibly also a single or none instance OID) of object IDs managed by this managed object.
-
find
public org.snmp4j.smi.OID find(MOScope range)
Description copied from interface:ManagedObject
Finds the first object ID (OID) in the specified search range.- Specified by:
find
in interfaceManagedObject<SubRequest<?>>
- Parameters:
range
- theMOScope
for the search.- Returns:
- the
OID
that is included in the searchrange
andnull
if no such instances could be found.
-
setTargetSubtree
public void setTargetSubtree(org.snmp4j.smi.OID remoteSubtree)
Sets the remote sub-tree OID for the translation between local agent OID and remote agent OID. Ifnull
, zero length, or equal to0.0
, no translation takes place.- Parameters:
remoteSubtree
- the OID sub-tree of the target agent to proxy.
-
get
public void get(SubRequest<?> request)
Description copied from interface:ManagedObject
Processes a GET request and return the result in the supplied sub-request.- Specified by:
get
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.
-
next
public boolean next(SubRequest<?> request)
Description copied from interface:ManagedObject
Finds the successor instance for the object instance ID (OID) given by the supplied sub-request and returns it within the supplied sub-request object.- Specified by:
next
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.- Returns:
true
if the search request found an appropriate instance,false
otherwise.
-
prepare
public void prepare(SubRequest<?> request)
Description copied from interface:ManagedObject
Prepares a SET (sub)request. This method represents the first phase of a two phase commit. During preparation all necessary resources should be locked in order to be able to execute the commit without claiming additional resources.- Specified by:
prepare
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.
-
commit
public void commit(SubRequest<?> request)
Description copied from interface:ManagedObject
Commits a previously prepared SET (sub)request. This is the second phase of a two phase commit. The change is committed but the resources locked during prepare not freed yet.- Specified by:
commit
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.
-
undo
public void undo(SubRequest<?> request)
Description copied from interface:ManagedObject
Compensates (undo) a (sub)request when a commit of another subrequest failed with an error. This also frees any resources locked during the preparation phase.- Specified by:
undo
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.
-
cleanup
public void cleanup(SubRequest<?> request)
Description copied from interface:ManagedObject
Cleansup a (sub)request and frees all resources locked during the preparation phase.- Specified by:
cleanup
in interfaceManagedObject<SubRequest<?>>
- Parameters:
request
- theSubRequest
to process.
-
isUndoEnabled
public boolean isUndoEnabled()
Returns whether undo of SET operations should be supported by this sub-tree proxy or not. Iftrue
is returned, a GET requests will be sent to the target SNMP entity before the SET operation to retrieve the old (undo) value. If the SET operation fails because of some error in this sub-request or any other sub-request of the same SNMP PDU, the already SET value in the target will be reset to the old value.- Returns:
true
if undo values will be retrieved for this sub-tree (default),false
otherwise (SET requests will be committed directly without previous GET).- Since:
- 2.5.0
-
setUndoEnabled
public void setUndoEnabled(boolean undoEnabled)
Enables or disables undo support for SET operations. If set totrue
, a GET requests will be sent to the target SNMP entity before the SET operation to retrieve the old (undo) value. If the SET operation fails because of some error in this sub-request or any other sub-request of the same SNMP PDU, the already SET value in the target will be reset to the old value.- Parameters:
undoEnabled
-true
if undo values should be retrieved for this sub-tree (default),false
otherwise (SET requests will be committed directly without previous GET).- Since:
- 2.5.0
-
getProxyName
public org.snmp4j.smi.OctetString getProxyName()
-
getAccess
public MOAccess getAccess()
-
setAccess
public void setAccess(MOAccess access)
-
getTranslation
public OIDTranslation getTranslation()
-
setTranslation
public void setTranslation(OIDTranslation translation)
Sets a OID translation. By default it is not active (null
).- Parameters:
translation
- If notnull
, theOIDTranslation
can be used to map between local OID and remote OID and vice versa.
-
-