Package java.nio

Examples of java.nio.ByteBuffer.remaining()


        ByteBuffer bb = link.peekFirst();
        if(bb == null || bb.remaining() == 0) {
            throw new EndOfBufferException();
        }
        byte result = bb.get();
        if(bb.remaining() == 0) {
            removeFirstLink(bb);
        }
        return result;
    }
View Full Code Here


        }
        int len = nextAdvance;
        ByteBuffer bb;
        while(true) {
            bb = link.peekFirst();
            if(len < bb.remaining()) {
                bb.position(bb.position()+len);
                break;
            }
            len -= bb.remaining();
            if(!removeFirstLink(bb)) {
View Full Code Here

            bb = link.peekFirst();
            if(len < bb.remaining()) {
                bb.position(bb.position()+len);
                break;
            }
            len -= bb.remaining();
            if(!removeFirstLink(bb)) {
                break;
            }
        }
        nextAdvance = 0;
View Full Code Here

    private ByteBuffer require(int n) throws EOFException {
        ByteBuffer bb = link.peekFirst();
        if(bb == null) {
            throw new EndOfBufferException();
        }
        if(n <= bb.remaining()) {
            nextAdvance = n;
            return bb;
        } else {
            requireMore(n);
            nextAdvance = n;
View Full Code Here

        } else {
            connection.getUnderlyingTcpConnection().setFlushmode(FlushMode.ASYNC);
        }
       
        ByteBuffer msgData = getData().getByteBuffer();
        int length = msgData.remaining();
       
        byte[] header;
        if (length <=128) {
            header = new byte[1 + 1];
            header[1] = (byte) (0x7F & length);
View Full Code Here

       
        int written = connection.getUnderlyingTcpConnection().write(header);
        if (completeHandler == null) {
            written += connection.getUnderlyingTcpConnection().write(msgData);
        } else {
            written += msgData.remaining();
            connection.getUnderlyingTcpConnection().write(msgData, new WebSocketMessageCompleteHandlerAdapter(connection, completeHandler));
        }
        connection.getUnderlyingTcpConnection().flush();

        return written;
View Full Code Here

                writePosition++;
               
            } else {
                ByteBuffer currentBuffer = bufs.remove(writePosition);
               
                if (currentBuffer.remaining() == buffer.remaining()) {
                    bufs.add(writePosition, buffer);
                    writePosition++;
                   
                } else if (currentBuffer.remaining() > buffer.remaining()) {
                    currentBuffer.position(currentBuffer.position() + buffer.remaining());
View Full Code Here

               
                if (currentBuffer.remaining() == buffer.remaining()) {
                    bufs.add(writePosition, buffer);
                    writePosition++;
                   
                } else if (currentBuffer.remaining() > buffer.remaining()) {
                    currentBuffer.position(currentBuffer.position() + buffer.remaining());
                    bufs.add(writePosition, currentBuffer);
                    bufs.add(writePosition, buffer);
                    writePosition++;
                   
View Full Code Here

                   
                } else { // currentBuffer.remaining() < buffer.remaining()
                    bufs.add(writePosition, buffer);
                    writePosition++;
                   
                    int bytesToRemove = buffer.remaining() - currentBuffer.remaining();
                    while (bytesToRemove > 0) {
                        // does tailing buffers exits?
                        if (writePosition < bufs.size()) {
                           
                            ByteBuffer buf = bufs.remove(writePosition);
View Full Code Here

                    while (bytesToRemove > 0) {
                        // does tailing buffers exits?
                        if (writePosition < bufs.size()) {
                           
                            ByteBuffer buf = bufs.remove(writePosition);
                            if (buf.remaining() > bytesToRemove) {
                                buf.position(buf.position() + bytesToRemove);
                                bufs.add(writePosition, buf);
                            } else {
                                bytesToRemove -= buf.remaining();
                            }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.