protected void _disconnect ( ) { IoSession currentSession = this . session ; this . session = null ; this . sentHandshake = null ; this . receivedHandshake = null ; this . attributeAliasValues . clear ( ) ; this . originAliasValues . clear ( ) ; if ( currentSession != null && ! currentSession . isClosing ( ) ) { log . info ( "Closing connection to World Model (client) at {} (waiting {}ms)." , currentSession . getRemoteAddress ( ) , Long . valueOf ( this . connectionTimeout ) ) ; while ( ! currentSession . close ( false ) . awaitUninterruptibly ( this . connectionTimeout ) ) { log . error ( "Connection didn't close after {}ms." , Long . valueOf ( this . connectionTimeout ) ) ; } } if ( currentSession != null ) { for ( ConnectionListener listener : this . connectionListeners ) { listener . connectionInterrupted ( this ) ; } } }
Disconnects from the world model .