public synchronized boolean logon ( ) { // if we have a communicator reference, we're already logged on if ( _comm != null ) { return false ; } // notify our observers immediately _observers . apply ( new ObserverOps . Session ( this ) { @ Override protected void notify ( SessionObserver obs ) { obs . clientWillLogon ( _client ) ; } } ) ; // create a new communicator and start it up; this will initiate the logon process _comm = createCommunicator ( ) ; _comm . setClassLoader ( _loader ) ; _comm . logon ( ) ; // register an interval to keep the clock synced and to send pings when appropriate if ( _tickInterval == null ) { _tickInterval = new Interval ( _runQueue ) { @ Override public void expired ( ) { tick ( ) ; } @ Override public String toString ( ) { return "Client.tickInterval" ; } } ; _tickInterval . schedule ( 5000L , true ) ; } return true ; }
Requests that this client connect and logon to the server with which it was previously configured .