示例#1
0
 public static int mdb_cursor_get(IntPtr cursor, byte[] key, byte[] value, CursorOperation op)
 {
     using(var marshal = new MarshalValueStructure(key, value))
         return checkRead(LmdbMethods.mdb_cursor_get(cursor, ref marshal.Key, ref marshal.Value, op));
 }
示例#2
0
 public static int mdb_cursor_put(IntPtr cursor, byte[] key, byte[] value, CursorPutOptions flags)
 {
     using(var marshal = new MarshalValueStructure(key, value))
         return check(LmdbMethods.mdb_cursor_put(cursor, ref marshal.Key, ref marshal.Value, flags));
 }
示例#3
0
 public static int mdb_del(IntPtr txn, uint dbi, byte[] key)
 {
     ValueStructure val = default(ValueStructure);
     using(var marshal = new MarshalValueStructure(key))
         return check(LmdbMethods.mdb_del(txn, dbi, ref marshal.Key, ref val));
 }
示例#4
0
 public static int mdb_cursor_get(IntPtr cursor, byte[] key, out ValueStructure keyStructure, out ValueStructure valueStructure, CursorOperation op)
 {
     valueStructure = default(ValueStructure);
     using (var marshal = new MarshalValueStructure(key))
     {
         keyStructure = marshal.Key;
         return checkRead(LmdbMethods.mdb_cursor_get(cursor, ref keyStructure, ref valueStructure, op));
     }
 }
示例#5
0
 public static int mdb_del(IntPtr txn, uint dbi, byte[] key, byte[] value)
 {
     using(var marshal = new MarshalValueStructure(key, value))
         return check(LmdbMethods.mdb_del(txn, dbi, ref marshal.Key, ref marshal.Value));
 }
示例#6
0
 public static int mdb_put(IntPtr txn, uint dbi, byte[] key, byte[] value, PutOptions flags)
 {
     using(var marshal = new MarshalValueStructure(key, value))
         return check(LmdbMethods.mdb_put(txn, dbi, ref marshal.Key, ref marshal.Value, flags));
 }
示例#7
0
 public static int mdb_get(IntPtr txn, uint dbi, byte[] key, out byte[] data)
 {
     using (var marshal = new MarshalValueStructure(key))
     {
         ValueStructure value;
         var result = checkRead(LmdbMethods.mdb_get(txn, dbi, ref marshal.Key, out value));
         if (result == MDB_NOTFOUND)
         {
             data = null;
             return result;
         }
         data = value.GetBytes();
         return result;
     }
 }
示例#8
0
 public static int mdb_del(IntPtr txn, uint dbi, byte[] key, byte[] value)
 {
     using (var marshal = new MarshalValueStructure(key, value))
         return(check(LmdbMethods.mdb_del(txn, dbi, ref marshal.Key, ref marshal.Value)));
 }
示例#9
0
 public static int mdb_put(IntPtr txn, uint dbi, byte[] key, byte[] value, PutOptions flags)
 {
     using (var marshal = new MarshalValueStructure(key, value))
         return(check(LmdbMethods.mdb_put(txn, dbi, ref marshal.Key, ref marshal.Value, flags)));
 }