@Override public void addMessageListener( MessageListener<? super HostedConnection> listener ) { messageListeners.addMessageListener( listener ); }
@Override public void broadcast( Message message ) { broadcast( null, message ); }
public DefaultClient( String gameName, int version, Connector reliable, Connector fast, ConnectorFactory connectorFactory ) { this( gameName, version ); setPrimaryConnectors( reliable, fast, connectorFactory ); }
@Override public void broadcast( int channel, Filter<? super HostedConnection> filter, Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "broadcast({0}, {1}. {2})", new Object[]{channel, filter, message}); } if( connections.isEmpty() ) return; checkChannel(channel); ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); FilterAdapter adapter = filter == null ? null : new FilterAdapter(filter); channels.get(channel+CH_FIRST).broadcast( adapter, buffer, true, false ); }
@Override public void close() { checkRunning(); closeConnections( null ); }
@Override public void send( int channel, Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "send({0}, {1})", new Object[]{channel, message}); } checkChannel(channel); ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); channels[channel+CH_FIRST].send(buffer); }
@Override public void removeMessageListener( MessageListener<? super Client> listener, Class... classes ) { messageListeners.removeMessageListener( listener, classes ); }
@Override public void messageReceived( HostedConnection source, Message m ) { dispatch( source, m ); } }
@Override public void messageReceived( Object source, Message m ) { dispatch( m ); }
@Override public void handleError( Object source, Throwable t ) { // Only doing the DefaultClient.this to make the code // checker happy... it compiles fine without it but I // don't like red lines in my editor. :P DefaultClient.this.handleError( t ); } }
public void shutdown() { interrupt(); }
protected HostedConnection getConnection( Endpoint p ) { return server.getConnection(p); }
public void removeMessageListener( MessageListener<? super S> listener, Class... classes ) { for( Class c : classes ) { getListeners(c, false).remove(listener); } } }
private void write( ByteBuffer data ) { try { connector.write(data); } catch( Exception e ) { handleError( e ); } }
@Override public void addMessageListener( MessageListener<? super HostedConnection> listener, Class... classes ) { messageListeners.addMessageListener( listener, classes ); }
@Override public void removeMessageListener( MessageListener<? super HostedConnection> listener, Class... classes ) { messageListeners.removeMessageListener( listener, classes ); }
@Override public void addMessageListener( MessageListener<? super Client> listener ) { messageListeners.addMessageListener( listener ); }
@Override public void removeMessageListener( MessageListener<? super Client> listener ) { messageListeners.removeMessageListener( listener ); }
@Override public void addMessageListener( MessageListener<? super Client> listener, Class... classes ) { messageListeners.addMessageListener( listener, classes ); }
@Override public void removeMessageListener( MessageListener<? super HostedConnection> listener ) { messageListeners.removeMessageListener( listener ); }