@Override protected void cleanupFurtherResourcesOnConnectionTimeout(final BaseClientState currentState) { switch (currentState) { case CONNECTING: if (connectConnectionHandler != null) { stopChildActor(connectConnectionHandler); connectConnectionHandler = null; } break; case DISCONNECTING: if (disconnectConnectionHandler != null) { stopChildActor(disconnectConnectionHandler); disconnectConnectionHandler = null; } break; case TESTING: // no need to handle TESTING state because this actor stops after test timeout. break; } super.cleanupFurtherResourcesOnConnectionTimeout(currentState); }
@Override protected void cleanupFurtherResourcesOnConnectionTimeout(final BaseClientState currentState) { switch (currentState) { case CONNECTING: if (connectConnectionHandler != null) { stopChildActor(connectConnectionHandler); connectConnectionHandler = null; } break; case DISCONNECTING: if (disconnectConnectionHandler != null) { stopChildActor(disconnectConnectionHandler); disconnectConnectionHandler = null; } break; case TESTING: // no need to handle TESTING state because this actor stops after test timeout. break; } super.cleanupFurtherResourcesOnConnectionTimeout(currentState); }
private FSM.State<BaseClientState, BaseClientData> connectionTimedOut(final Object event, final BaseClientData data) { data.getSessionSender().ifPresent(sender -> { final DittoRuntimeException error = ConnectionFailedException.newBuilder(connectionId()) .dittoHeaders(data.getSessionHeaders()) .build(); sender.tell(new Status.Failure(error), getSelf()); }); cleanupResourcesForConnection(); cleanupFurtherResourcesOnConnectionTimeout(stateName()); return goTo(UNKNOWN).using(data.resetSession() .setConnectionStatus(ConnectionStatus.FAILED) .setConnectionStatusDetails("Connection timed out at " + Instant.now() + " while " + stateName())); }
private FSM.State<BaseClientState, BaseClientData> connectionTimedOut(final Object event, final BaseClientData data) { data.getSessionSender().ifPresent(sender -> { final DittoRuntimeException error = ConnectionFailedException.newBuilder(connectionId()) .dittoHeaders(data.getSessionHeaders()) .build(); sender.tell(new Status.Failure(error), getSelf()); }); cleanupResourcesForConnection(); cleanupFurtherResourcesOnConnectionTimeout(stateName()); return goTo(UNKNOWN).using(data.resetSession() .setConnectionStatus(ConnectionStatus.FAILED) .setConnectionStatusDetails("Connection timed out at " + Instant.now() + " while " + stateName())); }