org.snmp4j.agent.mo.snmp
Class ProxyForwarderImpl

java.lang.Object
  extended by org.snmp4j.agent.mo.snmp.ProxyForwarderImpl
All Implemented Interfaces:
ProxyForwarder

public class ProxyForwarderImpl
extends java.lang.Object
implements ProxyForwarder

The ProxyForwarderImpl class implements a proxy forwarder instance as defined by RFC 3413. It is configured through the SNMP-PROXY-MIB and SNMP-TARGET-MIB implementations provided on construction. It sends notifications through the provided SNMP session.

Version:
1.9.1
Author:
Frank Fock

Field Summary
 
Fields inherited from interface org.snmp4j.agent.ProxyForwarder
PROXY_TYPE_ALL, PROXY_TYPE_INFORM, PROXY_TYPE_NOTIFY, PROXY_TYPE_READ, PROXY_TYPE_WRITE
 
Constructor Summary
ProxyForwarderImpl(org.snmp4j.Session session, SnmpProxyMIB proxyMIB, SnmpTargetMIB targetMIB)
          Creates a ProxyForwarder implementation based on a SNMP session used to send the notifications and a SNMP-PROXY-MIB and a SNMP-TARGET-MIB implementation used for its configuration.
 
Method Summary
 void addCounterListener(org.snmp4j.event.CounterListener l)
           
protected  void fireIncrementCounter(org.snmp4j.event.CounterEvent event)
           
 boolean forward(ProxyForwardRequest request)
          Forwards a Request if it matches the criteria defined by the SNMP-PROXY-MIB associated with this proxy forwarder.
protected  java.util.List getMatches(ProxyForwardRequest request)
           
protected  boolean matchParameters(ProxyForwardRequest request, org.snmp4j.smi.OctetString paramIn)
           
protected  boolean multipleForward(ProxyForwardRequest request)
           
protected  boolean proxyBackwardTranslation(org.snmp4j.PDU reqPDU, org.snmp4j.PDU pdu, org.snmp4j.event.ResponseEvent response)
           
protected  void proxyForwardTranslation(ProxyForwardRequest request, org.snmp4j.PDU source, org.snmp4j.PDU target)
          Translates a source PDU into the supplied target PDU.
 void removeCounterListener(org.snmp4j.event.CounterListener l)
           
 void setSession(org.snmp4j.Session snmpSession)
          Sets the SNMP session to used by this proxy forwarder for sending SNMP messages.
protected  org.snmp4j.event.ResponseEvent singleForward(ProxyForwardRequest request)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProxyForwarderImpl

public ProxyForwarderImpl(org.snmp4j.Session session,
                          SnmpProxyMIB proxyMIB,
                          SnmpTargetMIB targetMIB)
Creates a ProxyForwarder implementation based on a SNMP session used to send the notifications and a SNMP-PROXY-MIB and a SNMP-TARGET-MIB implementation used for its configuration.

Parameters:
session - a SNMP session.
proxyMIB - a SnmpProxyMIB implementation with the proxy configuration.
targetMIB - a SnmpTargetMIB implementation with the target configuration.
Method Detail

forward

public boolean forward(ProxyForwardRequest request)
Forwards a Request if it matches the criteria defined by the SNMP-PROXY-MIB associated with this proxy forwarder.

Specified by:
forward in interface ProxyForwarder
Parameters:
request - a ProxyForwardRequest encapsuling the forwarding request.
Returns:
true if the request has been forwarded, false otherwise.

getMatches

protected java.util.List getMatches(ProxyForwardRequest request)

matchParameters

protected boolean matchParameters(ProxyForwardRequest request,
                                  org.snmp4j.smi.OctetString paramIn)

singleForward

protected org.snmp4j.event.ResponseEvent singleForward(ProxyForwardRequest request)

proxyBackwardTranslation

protected boolean proxyBackwardTranslation(org.snmp4j.PDU reqPDU,
                                           org.snmp4j.PDU pdu,
                                           org.snmp4j.event.ResponseEvent response)

proxyForwardTranslation

protected void proxyForwardTranslation(ProxyForwardRequest request,
                                       org.snmp4j.PDU source,
                                       org.snmp4j.PDU target)
                                throws java.lang.IllegalArgumentException
Translates a source PDU into the supplied target PDU. The mapping between the source PDU and the target PDU is done as defined by RFC 3584.

Parameters:
request - the proxy forwarding request.
source - the source PDU instance.
target - the target PDU instance. The variable bindings of the source will replace any VBs of the target instance. If the source PDU cannot be converted to the target PDU target is not changed. Instead an intermediate PDU is returned.
Throws:
java.lang.IllegalArgumentException - if source contains an illegal notification PDU.

multipleForward

protected boolean multipleForward(ProxyForwardRequest request)

addCounterListener

public void addCounterListener(org.snmp4j.event.CounterListener l)

removeCounterListener

public void removeCounterListener(org.snmp4j.event.CounterListener l)

fireIncrementCounter

protected void fireIncrementCounter(org.snmp4j.event.CounterEvent event)

setSession

public void setSession(org.snmp4j.Session snmpSession)
Sets the SNMP session to used by this proxy forwarder for sending SNMP messages.

Parameters:
snmpSession - the Snmp instance to be used to send SNMP messages.
Since:
1.9.1

Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.