internal void Put(ref DirectBuffer key, ref DirectBuffer value, TransactionPutOptions flags = TransactionPutOptions.None) { NativeMethods.AssertExecute(NativeMethods.sdb_put(Environment._handle.Handle, _handle, ref key, ref value, flags)); }
public static unsafe void Put(this Transaction tx, Database db, Bufferable key, Bufferable value, TransactionPutOptions flags = TransactionPutOptions.None) { fixed(byte *keyPtr = &key.Buffer[0], valPtr = &value.Buffer[0]) { var keydb = new DirectBuffer(key.Buffer.Length, keyPtr); var valuedb = new DirectBuffer(value.Buffer.Length, valPtr); db.Put(tx, ref keydb, ref valuedb, flags); } }
public void Put <TKey, TValue>(TKey key, TValue value, TransactionPutOptions flags = TransactionPutOptions.None) where TKey : struct where TValue : struct { var keyPtr = AsPointer(ref key); var valuePtr = AsPointer(ref value); var key1 = new DirectBuffer(TypeHelper <TKey> .EnsureFixedSize(), (byte *)keyPtr); var value1 = new DirectBuffer(TypeHelper <TValue> .EnsureFixedSize(), (byte *)valuePtr); NativeMethods.AssertExecute(NativeMethods.sdb_put(Environment._handle.Handle, _handle, ref key1, ref value1, flags)); }
public void Put <TKey, TValue>(TKey key, TValue value, TransactionPutOptions flags = TransactionPutOptions.None) where TKey : struct where TValue : struct { EnsureNoRefs <TKey>(); EnsureNoRefs <TValue>(); var keyPtr = AsPointer(ref key); var valuePtr = AsPointer(ref value); var key1 = new DirectBuffer(SizeOf <TKey>(), (nint)keyPtr); var value1 = new DirectBuffer(SizeOf <TValue>(), (nint)valuePtr); NativeMethods.AssertExecute(NativeMethods.sdb_put(Environment._handle.Handle, _handle, ref key1, ref value1, flags)); }
public static extern int mdb_put(IntPtr txn, uint dbi, ref DirectBuffer key, ref DirectBuffer data, TransactionPutOptions flags);
public Task PutAsync <TKey, TValue>(TKey key, TValue value, TransactionPutOptions flags = TransactionPutOptions.None) where TKey : struct where TValue : struct { return(Task.Run(() => Put(key, value, flags))); }
public void Put(Transaction txn, ref DirectBuffer key, ref DirectBuffer value, TransactionPutOptions flags = TransactionPutOptions.None) { NativeMethods.AssertExecute(NativeMethods.mdb_put(txn._impl.Handle, _handle, ref key, ref value, flags)); }