package org.snmp4j.test;

import java.io.IOException;
import java.io.PrintStream;
import org.snmp4j.CommandResponder;
import org.snmp4j.CommandResponderEvent;
import org.snmp4j.MessageDispatcherImpl;
import org.snmp4j.Snmp;
import org.snmp4j.mp.MPv1;
import org.snmp4j.mp.MPv2c;
import org.snmp4j.mp.MPv3;
import org.snmp4j.security.SecurityModels;
import org.snmp4j.security.SecurityProtocols;
import org.snmp4j.security.USM;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.TcpAddress;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.transport.DefaultTcpTransportMapping;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.util.MultiThreadedMessageDispatcher;
import org.snmp4j.util.ThreadPool;

/* JADX INFO: loaded from: classes.dex */
public class MultiThreadedTrapReceiver implements CommandResponder {
    private MultiThreadedMessageDispatcher dispatcher;
    private Address listenAddress;
    private ThreadPool threadPool;
    private Snmp snmp = null;
    private int n = 0;
    private long start = -1;

    private void init() throws IOException {
        ThreadPool threadPoolCreate = ThreadPool.create("Trap", 2);
        this.threadPool = threadPoolCreate;
        this.dispatcher = new MultiThreadedMessageDispatcher(threadPoolCreate, new MessageDispatcherImpl());
        Address address = GenericAddress.parse(System.getProperty("snmp4j.listenAddress", "udp:0.0.0.0/162"));
        this.listenAddress = address;
        Snmp snmp = new Snmp(this.dispatcher, address instanceof UdpAddress ? new DefaultUdpTransportMapping((UdpAddress) this.listenAddress) : new DefaultTcpTransportMapping((TcpAddress) this.listenAddress));
        this.snmp = snmp;
        snmp.getMessageDispatcher().addMessageProcessingModel(new MPv1());
        this.snmp.getMessageDispatcher().addMessageProcessingModel(new MPv2c());
        this.snmp.getMessageDispatcher().addMessageProcessingModel(new MPv3());
        SecurityModels.getInstance().addSecurityModel(new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0));
        this.snmp.listen();
    }

    public static void main(String[] strArr) {
        new MultiThreadedTrapReceiver().run();
    }

    @Override // org.snmp4j.CommandResponder
    public void processPdu(CommandResponderEvent commandResponderEvent) {
        if (this.start < 0) {
            this.start = System.currentTimeMillis() - 1;
        }
        int i2 = this.n + 1;
        this.n = i2;
        if (i2 % 100 == 1) {
            PrintStream printStream = System.out;
            StringBuilder sb = new StringBuilder();
            sb.append("Processed ");
            double d2 = this.n;
            double dCurrentTimeMillis = System.currentTimeMillis() - this.start;
            Double.isNaN(d2);
            Double.isNaN(dCurrentTimeMillis);
            sb.append((d2 / dCurrentTimeMillis) * 1000.0d);
            sb.append("/s, total=");
            sb.append(this.n);
            printStream.println(sb.toString());
        }
    }

    public void run() {
        try {
            init();
            this.snmp.addCommandResponder(this);
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }
}
