protected void closeConnections( DisconnectInfo info )
    {
        synchronized(this) {
            if( !isRunning )
                return;

            if( services.isStarted() ) {
                // Let the services get a chance to stop before we
                // kill the connection.
                services.stop();
            }
        
            // Send a close message
    
            // Tell the thread it's ok to die
            for( ConnectorAdapter ca : channels ) {
                if( ca == null )
                    continue;
                ca.close();
            }
        
            // Wait for the threads?

            // Just in case we never fully connected
            connecting.countDown();
        
            isRunning = false;
        
            // Terminate the services
            services.terminate();            
        }
        
        // Make sure we aren't synched while firing events
        fireDisconnected(info);        
    }
A default implementation of the Client interface that delegates
 its network connectivity to a kernel.Connector.

 @version   $Revision$
 @author    Paul Speed
jme3-networking/src/main/java/com/jme3/network/base/DefaultClient.java