public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(CMSG_ALIGN(LinuxCmsgHdr.layout.size())); } }
public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(CMSG_ALIGN(LinuxCmsgHdr.layout.size())); } }
public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(__DARWIN_ALIGN32(MacOSCmsgHdr.layout.size())); } }
public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(CMSG_ALIGN(LinuxCmsgHdr.layout.size())); } }
public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(__DARWIN_ALIGN32(MacOSCmsgHdr.layout.size())); } }
protected jnr.ffi.Pointer getStringMemory(jnr.ffi.Pointer ptr) { return ptr.slice(offset(), length()); }
public Pointer CMSG_DATA(Pointer cmsg) { return cmsg.slice(__DARWIN_ALIGN32(MacOSCmsgHdr.layout.size())); } }
protected jnr.ffi.Pointer getStringMemory(jnr.ffi.Pointer ptr) { return ptr.slice(offset(), length()); }
public CmsgHdr[] getControls() { int len = getControlLen(); if (len == 0) { return new CmsgHdr[0]; } List<CmsgHdr> control = new ArrayList<CmsgHdr>(); int offset = 0; Pointer controlPtr = getControlPointer(); while (offset < len) { CmsgHdr each = allocateCmsgHdrInternal(posix, controlPtr.slice(offset), -1); offset += each.getLen(); control.add(each); } return control.toArray(new CmsgHdr[control.size()]); }
protected jnr.ffi.Pointer getStringMemory() { return getMemory().slice(offset(), length()); }
protected jnr.ffi.Pointer getStringMemory() { return getMemory().slice(offset(), length()); }
protected jnr.ffi.Pointer getStringMemory() { return getMemory().slice(offset(), length()); }
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(); }
public ByteBuffer[] getIov() { int len = getIovLen(); ByteBuffer[] buffers = new ByteBuffer[len]; Pointer iov = getIovPointer(); for (int i = 0; i < len; ++i) { Pointer eachPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIov = new BaseIovec(posix, eachPtr); buffers[i] = eachIov.get(); } return buffers; }
public ByteBuffer[] getIov() { int len = getIovLen(); ByteBuffer[] buffers = new ByteBuffer[len]; Pointer iov = getIovPointer(); for (int i = 0; i < len; ++i) { Pointer eachPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIov = new BaseIovec(posix, eachPtr); buffers[i] = eachIov.get(); } return buffers; }
public ByteBuffer[] getIov() { int len = getIovLen(); ByteBuffer[] buffers = new ByteBuffer[len]; Pointer iov = getIovPointer(); for (int i = 0; i < len; ++i) { Pointer eachPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIov = new BaseIovec(posix, eachPtr); buffers[i] = eachIov.get(); } return buffers; }
public void setIov(ByteBuffer[] buffers) { Pointer iov = Runtime.getSystemRuntime().getMemoryManager().allocateDirect(BaseIovec.layout.size() * buffers.length); for (int i = 0; i < buffers.length; ++i) { Pointer eachIovecPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIovec = new BaseIovec(posix, eachIovecPtr); eachIovec.set(buffers[i]); } setIovPointer(iov); setIovLen(buffers.length); }
public void setIov(ByteBuffer[] buffers) { Pointer iov = Runtime.getSystemRuntime().getMemoryManager().allocateDirect(BaseIovec.layout.size() * buffers.length); for (int i = 0; i < buffers.length; ++i) { Pointer eachIovecPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIovec = new BaseIovec(posix, eachIovecPtr); eachIovec.set(buffers[i]); } setIovPointer(iov); setIovLen(buffers.length); }
public void setIov(ByteBuffer[] buffers) { Pointer iov = Runtime.getSystemRuntime().getMemoryManager().allocateDirect(BaseIovec.layout.size() * buffers.length); for (int i = 0; i < buffers.length; ++i) { Pointer eachIovecPtr = iov.slice(BaseIovec.layout.size() * i); BaseIovec eachIovec = new BaseIovec(posix, eachIovecPtr); eachIovec.set(buffers[i]); } setIovPointer(iov); setIovLen(buffers.length); }