private static final Logger LOG = LoggerFactory.getLogger(HandshakeListenerImpl.class);
- private ConnectionContext connectionContext;
- private DeviceConnectedHandler deviceConnectedHandler;
+ private final ConnectionContext connectionContext;
+ private final DeviceConnectedHandler deviceConnectedHandler;
private HandshakeContext handshakeContext;
/**
* @param connectionContext
* @param deviceConnectedHandler
*/
- public HandshakeListenerImpl(ConnectionContext connectionContext, DeviceConnectedHandler deviceConnectedHandler) {
+ public HandshakeListenerImpl(final ConnectionContext connectionContext, final DeviceConnectedHandler deviceConnectedHandler) {
this.connectionContext = connectionContext;
this.deviceConnectedHandler = deviceConnectedHandler;
}
@Override
- public void onHandshakeSuccessfull(GetFeaturesOutput featureOutput, Short version) {
+ public void onHandshakeSuccessful(final GetFeaturesOutput featureOutput, final Short version) {
LOG.debug("handshake succeeded: {}", connectionContext.getConnectionAdapter().getRemoteAddress());
closeHandshakeContext();
connectionContext.changeStateToWorking();
public void onSuccess(@Nullable final RpcResult<BarrierOutput> result) {
LOG.debug("succeeded by getting sweep barrier after posthandshake for device {}", connectionContext.getNodeId());
try {
- deviceConnectedHandler.deviceConnected(connectionContext);
+ if (!deviceConnectedHandler.deviceConnected(connectionContext)) {
+ connectionContext.closeConnection(true);
+ }
SessionStatistics.countEvent(connectionContext.getNodeId().toString(),
SessionStatistics.ConnectionStatus.CONNECTION_CREATED);
- } catch (Exception e) {
- LOG.info("ConnectionContext initial processing failed: {}", e.getMessage());
+ } catch (final Exception e) {
+ LOG.error("ConnectionContext initial processing failed: {}", e.getMessage());
SessionStatistics.countEvent(connectionContext.getNodeId().toString(),
SessionStatistics.ConnectionStatus.CONNECTION_DISCONNECTED_BY_OFP);
- connectionContext.closeConnection(false);
+ connectionContext.closeConnection(true);
}
}
@Override
public void onFailure(final Throwable t) {
- LOG.info("failed to get sweep barrier after posthandshake for device {}", connectionContext.getNodeId());
+ LOG.error("failed to get sweep barrier after posthandshake for device {}", connectionContext.getNodeId());
connectionContext.closeConnection(false);
}
});
private void closeHandshakeContext() {
try {
handshakeContext.close();
- } catch (Exception e) {
- LOG.warn("Closing handshake context failed: {}", e.getMessage());
- LOG.debug("Detail in hanshake context close:", e);
+ } catch (final Exception e) {
+ LOG.error("Closing handshake context failed: {}", e.getMessage());
+ LOG.debug("Detail in handshake context close: {}", e);
}
}
@Override
- public void setHandshakeContext(HandshakeContext handshakeContext) {
+ public void setHandshakeContext(final HandshakeContext handshakeContext) {
this.handshakeContext = handshakeContext;
}
}