@Override public <A> void read(final ByteBuffer[] dsts, final int offset, final int length, final long timeout, final TimeUnit unit, final A attach, final CompletionHandler<Long, ? super A> handler) { channel.read(dsts, offset, length, timeout, unit, attach, handler); }
@Override public <A> void read(final ByteBuffer dst, final long timeout, final TimeUnit unit, final A attach, final CompletionHandler<Integer, ? super A> handler) { channel.read(dst, timeout, unit, attach, handler); }
@Override public <A> void read(final ByteBuffer dst, final A attachment, final CompletionHandler<Integer, ? super A> handler) { channel.read(dst, attachment, handler); }
@Override public Future<Integer> read(final ByteBuffer dst) { return channel.read(dst); }
socketChannel.read(inputBuffer, null, new CompletionHandler<Integer, Void>() { @Override public void completed(Integer bytesRead, Void result) {
@Override public <B,A extends B> void read(ByteBuffer dst, A attachment, CompletionHandler<Integer,B> handler) { socketChannel.read(dst, attachment, handler); }
@Override public <B,A extends B> void read(ByteBuffer dst, A attachment, CompletionHandler<Integer,B> handler) { socketChannel.read(dst, attachment, handler); }
@Override protected void requestAsync(Fiber current, CompletionHandler<Long, Fiber> completionHandler) { ac.read(dsts, offset, length, timeout, unit, current, completionHandler); } }.run();
/** * 内部方法:触发通道的读操作 * * @param buffer */ protected final void readFromChannel0(ByteBuffer buffer) { channel.read(buffer, this, readCompletionHandler); }
@Override public <A> void read(final ByteBuffer[] dsts, final int offset, final int length, final long timeout, final TimeUnit unit, final A attach, final CompletionHandler<Long, ? super A> handler) { channel.read(dsts, offset, length, timeout, unit, attach, handler); }
@Override public <B,A extends B> void read(ByteBuffer dst, A attachment, CompletionHandler<Integer,B> handler) { socketChannel.read(dst, attachment, handler); }
private void read() { readByteBuffer.position(0); readByteBuffer.limit(readByteBuffer.capacity()); channelContext.asynchronousSocketChannel.read(readByteBuffer, readByteBuffer, this); }
import java.nio.ByteBuffer; import java.nio.channels.AsynchronousSocketChannel; import java.util.concurrent.Future; public class EncryptedAsynchronousSocketChannel { private AsynchronousSocketChannel channel; public Future<Integer> read(ByteBuffer dst){ return channel.read(dst); } public Future<Integer> write(ByteBuffer src){ return channel.write(src); } }
@Override protected void requestAsync() { ac.read(dst, timeout, unit, null, makeCallback()); } }.run();
@Override protected void requestAsync() { ac.read(dsts, offset, length, timeout, unit, null, makeCallback()); } }.run();
@Deprecated @Override public Future<Integer> read(ByteBuffer dst) { this.reset(dst); return this.channel.read(dst); }
@Override public void completed(AsynchronousSocketChannel result, AsyncTimeServerHandler attachment) { attachment.asynchronousServerSocketChannel.accept(attachment, this); ByteBuffer buffer = ByteBuffer.allocate(1024); result.read(buffer, buffer, new ReadCompletionHandler(result)); }
protected void doReadCycle(ByteBuffer buffer, Nio2CompletionHandler<Integer, Object> completion) { AsynchronousSocketChannel socket = getSocket(); long readTimeout = manager.getLongProperty(FactoryManager.NIO2_READ_TIMEOUT, FactoryManager.DEFAULT_NIO2_READ_TIMEOUT); socket.read(buffer, readTimeout, TimeUnit.MILLISECONDS, null, completion); }
void _read() { try { final ByteBuffer buf = allocateReadBuffer(); if (log.isDebugEnabled()) { log.debug("The session {} allocates buffer. Its size is {}", getSessionId(), buf.remaining()); } socketChannel.read(buf, config.getTimeout(), TimeUnit.MILLISECONDS, this, new InputCompletionHandler(buf)); } catch (Exception e) { log.warn("register read event exception. {}", e.getMessage()); closeNow(); } }
void _read() { try { final ByteBuffer buf = allocateReadBuffer(); if (log.isDebugEnabled()) { log.debug("The session {} allocates buffer. Its size is {}", getSessionId(), buf.remaining()); } socketChannel.read(buf, config.getTimeout(), TimeUnit.MILLISECONDS, this, new InputCompletionHandler(buf)); } catch (Exception e) { log.warn("register read event exception. {}", e.getMessage()); closeNow(); } }