import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionManager;
import org.opendaylight.openflowplugin.api.openflow.connection.HandshakeContext;
import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceConnectedHandler;
-import org.opendaylight.openflowplugin.api.openflow.device.handlers.MessageHandler;
import org.opendaylight.openflowplugin.api.openflow.md.core.ConnectionConductor;
import org.opendaylight.openflowplugin.api.openflow.md.core.HandshakeListener;
import org.opendaylight.openflowplugin.api.openflow.md.core.HandshakeManager;
private static final int HELLO_LIMIT = 20;
private final boolean bitmapNegotiationEnabled = true;
private DeviceConnectedHandler deviceConnectedHandler;
+ private final long echoReplyTimeout;
+
+ public ConnectionManagerImpl(long echoReplyTimeout) {
+ this.echoReplyTimeout = echoReplyTimeout;
+ }
+
@Override
public void onSwitchConnected(final ConnectionAdapter connectionAdapter) {
LOG.trace("preparing handshake: {}", connectionAdapter.getRemoteAddress());
- final int handshakeThreadLimit = 1; //TODO: move to constants/parametrize
+ final int handshakeThreadLimit = 1;
final ThreadPoolLoggingExecutor handshakePool = createHandshakePool(
connectionAdapter.getRemoteAddress().toString(), handshakeThreadLimit);
new OpenflowProtocolListenerInitialImpl(connectionContext, handshakeContext);
connectionAdapter.setMessageListener(ofMessageListener);
- final SystemNotificationsListener systemListener = new SystemNotificationsListenerImpl(connectionContext);
+ final SystemNotificationsListener systemListener = new SystemNotificationsListenerImpl(connectionContext, echoReplyTimeout);
connectionAdapter.setSystemListener(systemListener);
LOG.trace("connection ballet finished");
public void setDeviceConnectedHandler(final DeviceConnectedHandler deviceConnectedHandler) {
this.deviceConnectedHandler = deviceConnectedHandler;
}
-
- @Override
- public void setMessageHandler(final MessageHandler arg0) {
- // TODO Auto-generated method stub
-
- }
}