@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 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 ); }
protected void send( int channel, Message message, boolean waitForConnected ) { checkRunning(); if( waitForConnected ) { // Make sure we aren't still connecting waitForConnected(); } ByteBuffer buffer = dataBuffer.get(); if( buffer == null ) { buffer = ByteBuffer.allocate( 65536 + 2 ); dataBuffer.set(buffer); } buffer.clear(); // Convert the message to bytes buffer = MessageProtocol.messageToBuffer(message, buffer); // Since we share the buffer between invocations, we will need to // copy this message's part out of it. This is because we actually // do the send on a background thread. byte[] temp = new byte[buffer.remaining()]; System.arraycopy(buffer.array(), buffer.position(), temp, 0, buffer.remaining()); buffer = ByteBuffer.wrap(temp); channels.get(channel).write(buffer); }
@Override public void send( Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "send({0})", message); } ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); if( message.isReliable() || channels[CH_UNRELIABLE] == null ) { channels[CH_RELIABLE].send( buffer ); } else { channels[CH_UNRELIABLE].send( buffer ); } }
@Override public void broadcast( Filter<? super HostedConnection> filter, Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "broadcast({0}, {1})", new Object[]{filter, message}); } if( connections.isEmpty() ) return; ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); FilterAdapter adapter = filter == null ? null : new FilterAdapter(filter); if( message.isReliable() || fastAdapter == null ) { // Don't need to copy the data because message protocol is already // giving us a fresh buffer reliableAdapter.broadcast( adapter, buffer, true, false ); } else { fastAdapter.broadcast( adapter, buffer, false, false ); } }
@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 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 ); }
protected void send( int channel, Message message, boolean waitForConnected ) { checkRunning(); if( waitForConnected ) { // Make sure we aren't still connecting waitForConnected(); } ByteBuffer buffer = dataBuffer.get(); if( buffer == null ) { buffer = ByteBuffer.allocate( 65536 + 2 ); dataBuffer.set(buffer); } buffer.clear(); // Convert the message to bytes buffer = MessageProtocol.messageToBuffer(message, buffer); // Since we share the buffer between invocations, we will need to // copy this message's part out of it. This is because we actually // do the send on a background thread. byte[] temp = new byte[buffer.remaining()]; System.arraycopy(buffer.array(), buffer.position(), temp, 0, buffer.remaining()); buffer = ByteBuffer.wrap(temp); channels.get(channel).write(buffer); }
@Override public void send( Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "send({0})", message); } ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); if( message.isReliable() || channels[CH_UNRELIABLE] == null ) { channels[CH_RELIABLE].send( buffer ); } else { channels[CH_UNRELIABLE].send( buffer ); } }
@Override public void broadcast( Filter<? super HostedConnection> filter, Message message ) { if( log.isLoggable(Level.FINER) ) { log.log(Level.FINER, "broadcast({0}, {1})", new Object[]{filter, message}); } if( connections.isEmpty() ) return; ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); FilterAdapter adapter = filter == null ? null : new FilterAdapter(filter); if( message.isReliable() || fastAdapter == null ) { // Don't need to copy the data because message protocol is already // giving us a fresh buffer reliableAdapter.broadcast( adapter, buffer, true, false ); } else { fastAdapter.broadcast( adapter, buffer, false, false ); } }
buffer = MessageProtocol.messageToBuffer(message, buffer);
public void send( Message message ) { ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); if( message.isReliable() || fast == null ) { reliable.send( buffer ); } else { fast.send( buffer ); } }
public void broadcast( Filter<? super HostedConnection> filter, Message message ) { ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); FilterAdapter adapter = filter == null ? null : new FilterAdapter(filter); // Ignore the filter for the moment if( message.isReliable() || fast == null ) { // Don't need to copy the data because message protocol is already // giving us a fresh buffer reliable.broadcast( adapter, buffer, true, false ); } else { fast.broadcast( adapter, buffer, false, false ); } }