public boolean hasRemaining() { return buf.hasRemaining(); }
public Map<StunAttributeType, StunAttribute> createAttributes( final ByteBuffer body) { final Map<StunAttributeType, StunAttribute> attributes = new ConcurrentHashMap<StunAttributeType, StunAttribute>(); while (body.hasRemaining()) { addAttribute(attributes, body); } return attributes; }
@Override public int read() { if (ByteBuffer.this.hasRemaining()) { return ByteBuffer.this.get() & 0xff; } else { return -1; } }
public WriteFuture flush() { Queue<ByteBuffer> bufferQueue = this.bufferQueue; WriteFuture future = null; if (bufferQueue.isEmpty()) { return null; } else { for (;;) { ByteBuffer buf = bufferQueue.poll(); if (buf == null) { break; } // Flush only when the buffer has remaining. if (buf.hasRemaining()) { future = doFlush(buf); } } } return future; }
try while (in.hasRemaining()) if (in.hasRemaining())
public void write(final ByteBuffer src) { m_log.debug("Writing data to input stream..."); m_rawBytesReceived += src.remaining(); m_log.debug("Received raw bytes: {}", m_rawBytesReceived); synchronized (m_mutex) { if (m_closed) { m_log.debug("InputStream closed..."); return; } if (m_buf.hasRemaining()) { m_log.debug("Copying buffer data..."); this.m_buf.compact(); this.m_buf.put(src); this.m_buf.flip(); m_mutex.notifyAll(); } else { m_log.debug("Nothing remaining in buffer..."); this.m_buf.clear(); this.m_buf.put(src); this.m_buf.flip(); m_mutex.notifyAll(); } } }
public void write(ByteBuffer src) { synchronized (mutex) { if (closed) { return; } if (buf.hasRemaining()) { this.buf.compact(); this.buf.put(src); this.buf.flip(); } else { this.buf.clear(); this.buf.put(src); this.buf.flip(); mutex.notifyAll(); } } }
public void decode(final IoSession session, final ByteBuffer in, final ProtocolDecoderOutput out) throws Exception { while (in.hasRemaining()) { if (this.m_currentDecoder == null || this.m_currentDecoder.atMessageBoundary()) { if (enoughData(in)) { this.m_currentDecoder = selectDecoder(in); } else { // There's not enough data to determine which decoder // to use, so wait until we get more. break; } } this.m_currentDecoder.decode(session, in, out); } }
for (;;) { CoderResult cr; if (hasRemaining()) { cr = decoder.decode(buf(), out, true); } else {
if (!hasRemaining()) { return ""; while (hasRemaining()) { if (get() == 0) { break; if (!hasRemaining()) { limit(oldLimit); position(end); for (;;) { CoderResult cr; if (hasRemaining()) { cr = decoder.decode(buf(), out, true); } else {
if (!buf.hasRemaining()) { session.increaseWrittenMessages(); for (int i = WRITE_SPIN_COUNT; i > 0; i --) { localWrittenBytes = ch.write(buf.buf()); if (localWrittenBytes != 0 || !buf.hasRemaining()) { break;
if (!hasRemaining()) { return ""; if (!hasRemaining()) { limit(oldLimit); position(end); for (;;) { CoderResult cr; if (hasRemaining()) { cr = decoder.decode(buf(), out, true); } else {
if (!buf.hasRemaining()) { session.increaseWrittenMessages(); if (!buf.hasRemaining()) { session.increaseWrittenMessages();
if (!buf.hasRemaining()) { break; if (buf.hasRemaining()) { if (usingSessionBuffer) buf.compact();
if (!buf.hasRemaining()) { session.increaseWrittenMessages(); if (!buf.hasRemaining()) { session.increaseWrittenMessages();
while (in.hasRemaining())
private void releaseWriteBuffers(SocketSessionImpl session) { Queue<WriteRequest> writeRequestQueue = session.getWriteRequestQueue(); WriteRequest req; if ((req = writeRequestQueue.poll()) != null) { ByteBuffer buf = (ByteBuffer) req.getMessage(); try { buf.release(); } catch (IllegalStateException e) { session.getFilterChain().fireExceptionCaught(session, e); } finally { // The first unwritten empty buffer must be // forwarded to the filter chain. if (buf.hasRemaining()) { req.getFuture().setWritten(false); } else { session.getFilterChain().fireMessageSent(session, req); } } // Discard others. while ((req = writeRequestQueue.poll()) != null) { try { ((ByteBuffer) req.getMessage()).release(); } catch (IllegalStateException e) { session.getFilterChain().fireExceptionCaught(session, e); } finally { req.getFuture().setWritten(false); } } } }
while (in.hasRemaining()) { byte b = in.get(); if (delimBuf.get(matchCount) == b) {
while (in.hasRemaining()) { byte b = in.get(); boolean matched = false;
int oldLimit = in.limit(); int count = matchCount; while (in.hasRemaining())