@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address(); } }
@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address(); } }
private StringArray(Runtime runtime, Pointer memory, int capacity) { super(runtime, memory.address(), memory.isDirect()); this.memory = memory; this.stringMemory = new ArrayList<Pointer>(capacity); }
@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address(); } }
@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address(); } }
@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address(); } }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getName()); sb.append(String.format("[address=%#x", address())); if (size() != Long.MAX_VALUE) { sb.append(String.format(" size=%d", size())); } sb.append(']'); return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getName()); sb.append(String.format("[address=%#x", address())); if (size() != Long.MAX_VALUE) { sb.append(String.format(" size=%d", size())); } sb.append(']'); return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getName()); sb.append(String.format("[address=%#x", address())); if (size() != Long.MAX_VALUE) { sb.append(String.format(" size=%d", size())); } sb.append(']'); return sb.toString(); }
public static FileDescriptor toFileDescriptor(HANDLE fileDescriptor) { FileDescriptor descriptor = new FileDescriptor(); try { ReflectiveAccess.FILE_DESCRIPTOR_HANDLE.set(descriptor, fileDescriptor.toPointer().address()); } catch (IllegalAccessException e) { throw new RuntimeException(e); } return descriptor; }
public static FileDescriptor toFileDescriptor(HANDLE fileDescriptor) { FileDescriptor descriptor = new FileDescriptor(); try { FILE_DESCRIPTOR_HANDLE.set(descriptor, fileDescriptor.toPointer().address()); } catch (IllegalAccessException e) { throw new RuntimeException(e); } return descriptor; }
KeyVal(final BufferProxy<T> proxy) { requireNonNull(proxy); this.proxy = proxy; this.k = proxy.allocate(); this.v = proxy.allocate(); ptrKey = MEM_MGR.allocateTemporary(MDB_VAL_STRUCT_SIZE, false); ptrKeyAddr = ptrKey.address(); ptrArray = MEM_MGR.allocateTemporary(MDB_VAL_STRUCT_SIZE * 2, false); ptrVal = ptrArray.slice(0, MDB_VAL_STRUCT_SIZE); ptrValAddr = ptrVal.address(); }
KeyVal(final BufferProxy<T> proxy) { requireNonNull(proxy); this.proxy = proxy; this.k = proxy.allocate(); this.v = proxy.allocate(); ptrKey = MEM_MGR.allocateTemporary(MDB_VAL_STRUCT_SIZE, false); ptrKeyAddr = ptrKey.address(); ptrArray = MEM_MGR.allocateTemporary(MDB_VAL_STRUCT_SIZE * 2, false); ptrVal = ptrArray.slice(0, MDB_VAL_STRUCT_SIZE); ptrValAddr = ptrVal.address(); }
@Override public boolean equals(Object obj) { return obj instanceof Pointer && ((Pointer) obj).address() == address() && ((Pointer) obj).getRuntime().isCompatible(getRuntime()); }
@Override protected final void in(final byte[] buffer, final Pointer ptr, final long ptrAddr) { final Pointer pointer = MEM_MGR.allocateDirect(buffer.length); pointer.put(0, buffer, 0, buffer.length); ptr.putLong(STRUCT_FIELD_OFFSET_SIZE, buffer.length); ptr.putLong(STRUCT_FIELD_OFFSET_DATA, pointer.address()); }
@Override protected final void in(final byte[] buffer, final Pointer ptr, final long ptrAddr) { final Pointer pointer = MEM_MGR.allocateDirect(buffer.length); pointer.put(0, buffer, 0, buffer.length); ptr.putLong(STRUCT_FIELD_OFFSET_SIZE, buffer.length); ptr.putAddress(STRUCT_FIELD_OFFSET_DATA, pointer.address()); }