return requestList.getTimeout();
}
public void processPdu(CommandResponderEvent event) {
if (event.getPDU() != null) {
CoexistenceInfo cinfo = null;
OctetString sname = new OctetString(event.getSecurityName());
if (event.getPDU() instanceof ScopedPDU) {
ScopedPDU spdu = (ScopedPDU)event.getPDU();
cinfo = new CoexistenceInfo(sname,
spdu.getContextEngineID(),
spdu.getContextName());
}
else if (coexistenceProvider != null) {
CoexistenceInfo[] cinfos =
coexistenceProvider.getCoexistenceInfo(sname);
if ((cinfos != null) && (cinfos.length > 0)) {
for (int i=0; i<cinfos.length; i++) {
if (coexistenceProvider.passesFilter(event.getPeerAddress(),
cinfos[i])) {
cinfo = cinfos[i];
break;
}
}
if (cinfo == null) {
logger.warn("Access attempt from "+event.getPeerAddress()+
" denied because of source address filtering");
fireIncrementCounter(
new CounterEvent(this,
SnmpConstants.snmpInBadCommunityNames));
return;
}
event.setMaxSizeResponsePDU(cinfo.getMaxMessageSize());
}
else {
if (logger.isInfoEnabled()) {
logger.info("Community name '"+sname+
"' not found in SNMP-COMMUNITY-MIB");
}
fireIncrementCounter(
new CounterEvent(this,
SnmpConstants.snmpInBadCommunityNames));
return;
}
}
if ((cinfo == null) ||
(ownContextEngineID.equals(cinfo.getContextEngineID()))) {
event.setProcessed(true);
Command command = new Command(event, cinfo);
if (threadPool != null) {
threadPool.execute(command);
}
else {
command.run();
}
}
else if (proxyForwarder != null) {
ProxyForwardRequest request =
new ProxyForwardRequest(event, cinfo);
ProxyForwarder proxy =
proxyForwarder.get(cinfo.getContextEngineID(),
request.getProxyType());
ProxyCommand command = new ProxyCommand(proxy, request);
if (proxy != null) {
if (logger.isDebugEnabled()) {
logger.debug("Processsing proxy request with proxy forwarder "+