@Override public void write(long offset, byte[] bytes, int off, int len) { if (offset < 0 || off + len > bytes.length || offset + len > capacity()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET + off, null, start + offset, len); }
@Override public void write(long offset, byte[] bytes, int off, int len) { if (offset < 0 || off + len > bytes.length || offset + len > capacity()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET + off, null, start + offset, len); }
@Override public int read(@NotNull byte[] bytes, int off, int len) { if (len < 0 || off < 0 || off + len > bytes.length) throw new IllegalArgumentException(); long left = remaining(); if (left <= 0) return -1; int len2 = (int) Math.min(len, left); getChronicleUnsafe().copyMemory(null, position, bytes, BYTES_OFFSET + off, len2); addPosition(len2); return len2; }
@Override public void readFully(@NotNull char[] data, int off, int len) { checkArrayOffs(data.length, off, len); long bytesOff = off * 2L; long bytesLen = len * 2L; long left = remaining(); if (left < bytesLen) throw new IllegalStateException(new EOFException()); getChronicleUnsafe().copyMemory(null, position, data, BYTES_OFFSET + bytesOff, bytesLen); addPosition(bytesLen); }
@Override public int read(@NotNull byte[] bytes, int off, int len) { if (len < 0 || off < 0 || off + len > bytes.length) throw new IllegalArgumentException(); long left = remaining(); if (left <= 0) return -1; int len2 = (int) Math.min(len, left); getChronicleUnsafe().copyMemory(null, position, bytes, BYTES_OFFSET + off, len2); addPosition(len2); return len2; }
@Override public void readFully(@NotNull byte[] b, int off, int len) { checkArrayOffs(b.length, off, len); long left = remaining(); if (left < len) throw new IllegalStateException(new EOFException()); getChronicleUnsafe().copyMemory(null, position, b, BYTES_OFFSET + off, len); addPosition(len); }
@Override public void readFully(long offset, byte[] bytes, int off, int len) { checkArrayOffs(bytes.length, off, len); getChronicleUnsafe().copyMemory(null, start + offset, bytes, BYTES_OFFSET + off, len); }
@Override public void readFully(@NotNull byte[] b, int off, int len) { checkArrayOffs(b.length, off, len); long left = remaining(); if (left < len) throw new IllegalStateException(new EOFException()); getChronicleUnsafe().copyMemory(null, position, b, BYTES_OFFSET + off, len); addPosition(len); }
@Override public void write(long offset, @NotNull byte[] bytes) { if (offset < 0 || offset + bytes.length > capacity()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET, null, start + offset, bytes.length); addPosition(bytes.length); }
@Override public void readFully(long offset, byte[] bytes, int off, int len) { checkArrayOffs(bytes.length, off, len); getChronicleUnsafe().copyMemory(null, start + offset, bytes, BYTES_OFFSET + off, len); }
@Override public void readFully(@NotNull char[] data, int off, int len) { checkArrayOffs(data.length, off, len); long bytesOff = off * 2L; long bytesLen = len * 2L; long left = remaining(); if (left < bytesLen) throw new IllegalStateException(new EOFException()); getChronicleUnsafe().copyMemory(null, position, data, BYTES_OFFSET + bytesOff, bytesLen); addPosition(bytesLen); }
@Override public void write(long offset, @NotNull byte[] bytes) { if (offset < 0 || offset + bytes.length > capacity()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET, null, start + offset, bytes.length); addPosition(bytes.length); }
@Override public void write(byte[] bytes, int off, int len) { if (off < 0 || off + len > bytes.length || len > remaining()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET + off, null, position, len); addPosition(len); }
@Override public void write(byte[] bytes, int off, int len) { if (off < 0 || off + len > bytes.length || len > remaining()) throw new IllegalArgumentException(); getChronicleUnsafe().copyMemory(bytes, BYTES_OFFSET + off, null, position, len); addPosition(len); }
@Override public void write(RandomDataInput bytes, long position, long length) { if (length > remaining()) throw new IllegalArgumentException("Attempt to write " + length + " bytes with " + remaining() + " remaining"); if (bytes instanceof MappedNativeBytes) { getChronicleUnsafe().copyMemory(((MappedNativeBytes) bytes).start + position, this.position, length); skip(length); } else { super.write(bytes, position, length); } }
@Override public void write(RandomDataInput bytes, long position, long length) { if (length > remaining()) throw new IllegalArgumentException("Attempt to write " + length + " bytes with " + remaining() + " remaining"); if (bytes instanceof MappedNativeBytes) { getChronicleUnsafe().copyMemory(((MappedNativeBytes) bytes).start + position, this.position, length); skip(length); } else { super.write(bytes, position, length); } }