invoked when the underlying connection is closed . concode_field_sep WebSocketHandler handler concode_elem_sep Log logger concode_elem_sep long timeCreated concode_elem_sep Set<String> disconnectedClientExceptions concode_elem_sep ScheduledFuture<?> heartbeatTask concode_elem_sep String DISCONNECTED_CLIENT_LOG_CATEGORY concode_elem_sep State state concode_elem_sep Log disconnectedClientLogger concode_elem_sep Map<String,Object> attributes concode_elem_sep long timeLastActive concode_elem_sep String id concode_elem_sep SockJsServiceConfig config concode_elem_sep boolean heartbeatDisabled concode_field_sep void writeFrameInternal concode_elem_sep void disconnect concode_elem_sep void delegateError concode_elem_sep void updateLastActiveTime concode_elem_sep void delegateConnectionEstablished concode_elem_sep void sendHeartbeat concode_elem_sep void tryCloseWithSockJsTransportError concode_elem_sep String getId concode_elem_sep boolean isActive concode_elem_sep void disableHeartbeat concode_elem_sep void logWriteFrameFailure concode_elem_sep void close concode_elem_sep void close concode_elem_sep SockJsServiceConfig getSockJsServiceConfig concode_elem_sep Map<String,Object> getAttributes concode_elem_sep void cancelHeartbeat concode_elem_sep void sendMessage concode_elem_sep long getTimeSinceLastActive concode_elem_sep boolean isNew concode_elem_sep boolean isOpen concode_elem_sep boolean isClosed concode_elem_sep void delegateMessages concode_elem_sep SockJsMessageCodec getMessageCodec concode_elem_sep void writeFrame concode_elem_sep String toString concode_elem_sep void sendMessageInternal concode_elem_sep void scheduleHeartbeat
void function ( CloseStatus arg0 ) { if ( ! isClosed ( ) ) { try { updateLastActiveTime ( ) ; cancelHeartbeat ( ) ; } finally { this . state = State . CLOSED ; this . handler . afterConnectionClosed ( this , arg0 ) ; } } }