@Override public int available() throws IOException { return bytesRemaining(this); }
@Override public int available() throws IOException { return bytesRemaining(this); }
@Override public int available() throws IOException { return bytesRemaining(this); }
@Override public int read(byte[] b) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); int len = b.length>max? max : b.length; Pipe.copyBytesFromToRing(backing, position, byteMask, b, 0, Integer.MAX_VALUE, len); position += b.length; return b.length; }
@Override public int read(byte[] b) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); int len = b.length>max? max : b.length; Pipe.copyBytesFromToRing(backing, position, byteMask, b, 0, Integer.MAX_VALUE, len); position += b.length; return b.length; }
@Override public int read(byte[] b, int off, int len) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); if (len > max) { len = max; } Pipe.copyBytesFromToRing(backing, position, byteMask, b, off, Integer.MAX_VALUE, len); position += len; return len; }
@Override public int read(byte[] b) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); int len = b.length>max? max : b.length; Pipe.copyBytesFromToRing(backing, position, byteMask, b, 0, Integer.MAX_VALUE, len); position += b.length; return b.length; }
@Override public int read(byte[] b, int off, int len) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); if (len > max) { len = max; } Pipe.copyBytesFromToRing(backing, position, byteMask, b, off, Integer.MAX_VALUE, len); position += len; return len; }
@Override public int read(byte[] b, int off, int len) throws IOException { if ((byteMask & position) == bytesLimit) { return -1; } int max = bytesRemaining(this); if (len > max) { len = max; } Pipe.copyBytesFromToRing(backing, position, byteMask, b, off, Integer.MAX_VALUE, len); position += len; return len; }