public boolean disconnect ( final int iChannelId ) { OLogManager . instance ( ) . debug ( this , "Disconnecting connection with id=%d" , iChannelId ) ; final OClientConnection connection = connections . remove ( iChannelId ) ; if ( connection != null ) { OServerPluginHelper . invokeHandlerCallbackOnClientDisconnection ( server , connection ) ; connection . close ( ) ; removeConnectionFromSession ( connection ) ; // CHECK IF THERE ARE OTHER CONNECTIONS for ( Entry < Integer , OClientConnection > entry : connections . entrySet ( ) ) { if ( entry . getValue ( ) . getProtocol ( ) . equals ( connection . getProtocol ( ) ) ) { OLogManager . instance ( ) . debug ( this , "Disconnected connection with id=%d but are present other active channels" , iChannelId ) ; return false ; } } OLogManager . instance ( ) . debug ( this , "Disconnected connection with id=%d, no other active channels found" , iChannelId ) ; return true ; } OLogManager . instance ( ) . debug ( this , "Cannot find connection with id=%d" , iChannelId ) ; return false ; }
Disconnects a client connections