Class 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:
    3.0.0
    Author:
    Frank Fock
    • 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 <A extends org.snmp4j.smi.Address> boolean forward​(ProxyForwardRequest<A> 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
        Type Parameters:
        A - type of the peer Address.
        Parameters:
        request - a ProxyForwardRequest encapsuling the forwarding request.
        Returns:
        true if the request has been forwarded, false otherwise.
      • matchParameters

        protected boolean matchParameters​(ProxyForwardRequest<?> request,
                                          org.snmp4j.smi.OctetString paramIn)
      • singleForward

        protected <A extends org.snmp4j.smi.Address> org.snmp4j.event.ResponseEvent<A> singleForward​(ProxyForwardRequest<A> 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 <A extends org.snmp4j.smi.Address> boolean multipleForward​(ProxyForwardRequest<A> 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