@Override public int capacity() { synchronized (lock) { return transport.capacity(); } }
public int capacity() { lock.lock(); try { return transport.capacity(); } finally { lock.unlock(); } }
public int capacity() { requireHandler(); return transport.capacity(); }
public void inputBuffer(ByteBuf buffer) { dataReceived = true; lock.lock(); try { while (buffer.readableBytes() > 0) { int capacity = transport.capacity(); if (!receivedFirstPacket) { handleFirstPacket(buffer); // there is a chance that if SASL Handshake has been carried out that the capacity may change. capacity = transport.capacity(); } if (capacity > 0) { ByteBuffer tail = transport.tail(); int min = Math.min(capacity, buffer.readableBytes()); tail.limit(min); buffer.readBytes(tail); flush(); } else { if (capacity == 0) { log.debugf("abandoning: readableBytes=%d", buffer.readableBytes()); } else { log.debugf("transport closed, discarding: readableBytes=%d, capacity=%d", buffer.readableBytes(), transport.capacity()); } break; } } } finally { lock.unlock(); } }
public void inputBuffer(ByteBuf buffer) { requireHandler(); dataReceived = true; while (buffer.readableBytes() > 0) { int capacity = transport.capacity(); if (!receivedFirstPacket) { handleFirstPacket(buffer); // there is a chance that if SASL Handshake has been carried out that the capacity may change. capacity = transport.capacity(); } if (capacity > 0) { ByteBuffer tail = transport.tail(); int min = Math.min(capacity, buffer.readableBytes()); tail.limit(min); buffer.readBytes(tail); flush(); } else { if (capacity == 0) { log.debugf("abandoning: readableBytes=%d", buffer.readableBytes()); } else { log.debugf("transport closed, discarding: readableBytes=%d, capacity=%d", buffer.readableBytes(), transport.capacity()); } break; } } }
private static int capacity(Selectable selectable) { Transport transport = ((SelectableImpl)selectable).getTransport(); int capacity = transport.capacity(); if (capacity < 0) { if (transport.isClosed()) { selectable.terminate(); } } return capacity; }
private static int capacity(Selectable selectable) { Transport transport = ((SelectableImpl)selectable).getTransport(); int capacity = transport.capacity(); if (capacity < 0) { if (transport.isClosed()) { selectable.terminate(); } } return capacity; }
@Override public void run(Selectable selectable) { Reactor reactor = selectable.getReactor(); Transport transport = ((SelectableImpl)selectable).getTransport(); int capacity = transport.capacity(); if (capacity > 0) { SocketChannel socketChannel = (SocketChannel)selectable.getChannel(); try { int n = socketChannel.read(transport.tail()); if (n == -1) { transport.close_tail(); } else { transport.process(); } } catch (IOException | TransportException e) { ErrorCondition condition = new ErrorCondition(); condition.setCondition(Symbol.getSymbol("proton:io")); condition.setDescription(e.getMessage()); transport.setCondition(condition); transport.close_tail(); } } // (Comment from C code:) occasionally transport events aren't // generated when expected, so the following hack ensures we // always update the selector update(selectable); reactor.update(selectable); } };
@Override public void run(Selectable selectable) { Reactor reactor = selectable.getReactor(); Transport transport = ((SelectableImpl)selectable).getTransport(); int capacity = transport.capacity(); if (capacity > 0) { SocketChannel socketChannel = (SocketChannel)selectable.getChannel(); try { int n = socketChannel.read(transport.tail()); if (n == -1) { transport.close_tail(); } else { transport.process(); } } catch (IOException e) { ErrorCondition condition = new ErrorCondition(); condition.setCondition(Symbol.getSymbol("proton:io")); condition.setDescription(e.getMessage()); transport.setCondition(condition); transport.close_tail(); } } // (Comment from C code:) occasionally transport events aren't // generated when expected, so the following hack ensures we // always update the selector update(selectable); reactor.update(selectable); } };