public async Task <BerkeleyError> WriteAsync(BerkeleyDbWriteMode writeMode)
        {
            CloseWriteBuffer();
            foreach (Dto.BerkeleyDtoPut data in _writeData)
            {
                BerkeleyError error = await base.BerkeleyDb.Methods.WriteDuplicateAsync(base.BerkeleyDb, data, _writeKeyBuffer.BufferSize, writeMode).ConfigureAwait(false);

                if (error.HasError)
                {
                    return(error);
                }
            }
            _writeData.Clear();
            return(BerkeleyError.NoError);
        }
Ejemplo n.º 2
0
        public BerkeleyDbError Put(IntPtr pdb, Byte[] key, Byte[] data, BerkeleyDbWriteMode flags)
        {
            var keyDbt  = new db_dbt();
            var dataDbt = new db_dbt();

            try
            {
                keyDbt.Init(key);
                dataDbt.Init(data);
                return((BerkeleyDbError)_put(pdb, IntPtr.Zero, ref keyDbt, ref dataDbt, (uint)flags));
            }
            finally
            {
                keyDbt.Dispose();
                dataDbt.Dispose();
            }
        }
Ejemplo n.º 3
0
        public BerkeleyDbError PutMultipleKey(IntPtr pdb, Byte[] data, BerkeleyDbWriteMode flags)
        {
            var keyDbt  = new db_dbt();
            var dataDbt = new db_dbt();

            try
            {
                keyDbt.Init(data);
                keyDbt.flags |= db_dbt.DB_DBT_BULK;

                dataDbt.flags |= db_dbt.DB_DBT_READONLY;

                return((BerkeleyDbError)_put(pdb, IntPtr.Zero, ref keyDbt, ref dataDbt, (uint)flags | (int)BerkeleyDbMultiple.DB_MULTIPLE_KEY));
            }
            finally
            {
                keyDbt.Dispose();
                dataDbt.Dispose();
            }
        }
Ejemplo n.º 4
0
        public static String ToStringEx(this BerkeleyDbWriteMode flag)
        {
            switch (flag)
            {
            case 0:
                return("0");

            case BerkeleyDbWriteMode.DB_APPEND:
                return("db_append");

            case BerkeleyDbWriteMode.DB_NODUPDATA:
                return("db_nodupdata");

            case BerkeleyDbWriteMode.DB_NOOVERWRITE:
                return("db_nooverwrite");

            case BerkeleyDbWriteMode.DB_OVERWRITE_DUP:
                return("db_overwrite_dup");

            default:
                throw new ArgumentOutOfRangeException(flag.ToString());
            }
        }
 public abstract Task<BerkeleyError> WriteMultipleAsync(BerkeleyDb db, Dto.BerkeleyDtoPut data, BerkeleyDbWriteMode writeMode);
 public abstract Task<BerkeleyError> WriteDuplicateAsync(BerkeleyDb db, Dto.BerkeleyDtoPut data, int bufferSize, BerkeleyDbWriteMode writeMode);
 public abstract Task<BerkeleyError> WriteAsync(BerkeleyDb db, Byte[] key, Byte[] value, BerkeleyDbWriteMode writeMode);
Ejemplo n.º 8
0
        public BerkeleyDbError WriteMultipleKey([FromUri] ulong handle, BerkeleyDbWriteMode writeMode, [FromBody] Byte[] data)
        {
            DbHandle db = GetDb(handle);

            return(db.Methods.PutMultipleKey(db.Handle, data, writeMode));
        }
Ejemplo n.º 9
0
 public BerkeleyDbError WriteMultipleDuplicate([FromUri] ulong handle, BerkeleyDbWriteMode writeMode, [FromBody] BerkeleyDtoPut data)
 {
     DbHandle db = GetDb(handle);
     return db.Methods.PutMultipleDuplicate(db.Handle, data.Key, data.Value, writeMode);
 }
Ejemplo n.º 10
0
 public BerkeleyDbError Put(IntPtr pdb, Byte[] key, Byte[] data, BerkeleyDbWriteMode flags)
 {
     var keyDbt = new db_dbt();
     var dataDbt = new db_dbt();
     try
     {
         keyDbt.Init(key);
         dataDbt.Init(data);
         return (BerkeleyDbError)_put(pdb, IntPtr.Zero, ref keyDbt, ref dataDbt, (uint)flags);
     }
     finally
     {
         keyDbt.Dispose();
         dataDbt.Dispose();
     }
 }
 public abstract Task <BerkeleyError> WriteMultipleAsync(BerkeleyDb db, Dto.BerkeleyDtoPut data, BerkeleyDbWriteMode writeMode);
Ejemplo n.º 12
0
        public override async Task <BerkeleyError> WriteMultipleAsync(BerkeleyDb db, BerkeleyDtoPut data, BerkeleyDbWriteMode writeMode)
        {
            String        requestUri;
            ObjectContent content;

            if (data.Key == null)
            {
                requestUri = "api/database/writemultiplekey/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                content    = new ObjectContent <Byte[]>(data.Value, _formatter, (String)null);
            }
            else
            {
                requestUri = "api/database/write/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                content    = new ObjectContent <BerkeleyDtoPut>(data, _formatter, (String)null);
            }

            HttpResponseMessage response = await _httpClient.PostAsync(requestUri, content);

            if (!response.IsSuccessStatusCode)
            {
                return(new BerkeleyError(response.StatusCode));
            }

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);

            return(new BerkeleyError(error));
        }
Ejemplo n.º 13
0
        public override async Task <BerkeleyError> WriteDuplicateAsync(BerkeleyDb db, BerkeleyDtoPut data, int bufferSize, BerkeleyDbWriteMode writeMode)
        {
            String         requestUri;
            BerkeleyDtoPut dataPost;

            if (data.Key.Length <= bufferSize && data.Value.Length <= bufferSize)
            {
                requestUri = "api/database/writemultipleduplicate/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                dataPost   = new BerkeleyDtoPut(data.Key, data.Value);
            }
            else
            {
                requestUri = "api/database/write/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                dataPost   = data;
            }

            ObjectContent       content  = new ObjectContent <BerkeleyDtoPut>(dataPost, _formatter, (String)null);
            HttpResponseMessage response = await _httpClient.PostAsync(requestUri, content).ConfigureAwait(false);

            if (!response.IsSuccessStatusCode)
            {
                return(new BerkeleyError(response.StatusCode));
            }

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);

            return(new BerkeleyError(error));
        }
Ejemplo n.º 14
0
 public async Task <BerkeleyError> WriteAsync(Byte[] key, Byte[] value, BerkeleyDbWriteMode writeMode)
 {
     return(await _methods.WriteAsync(this, key, value, writeMode).ConfigureAwait(false));
 }
 public abstract Task <BerkeleyError> WriteAsync(BerkeleyDb db, Byte[] key, Byte[] value, BerkeleyDbWriteMode writeMode);
 public abstract Task <BerkeleyError> WriteDuplicateAsync(BerkeleyDb db, Dto.BerkeleyDtoPut data, int bufferSize, BerkeleyDbWriteMode writeMode);
        public override async Task<BerkeleyError> WriteDuplicateAsync(BerkeleyDb db, BerkeleyDtoPut data, int bufferSize, BerkeleyDbWriteMode writeMode)
        {
            String requestUri;
            BerkeleyDtoPut dataPost;
            if (data.Key.Length <= bufferSize && data.Value.Length <= bufferSize)
            {
                requestUri = "api/database/writemultipleduplicate/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                dataPost = new BerkeleyDtoPut(data.Key, data.Value);
            }
            else
            {
                requestUri = "api/database/write/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
                dataPost = data;
            }

            ObjectContent content = new ObjectContent<BerkeleyDtoPut>(dataPost, _formatter, (String)null);
            HttpResponseMessage response = await _httpClient.PostAsync(requestUri, content).ConfigureAwait(false);
            if (!response.IsSuccessStatusCode)
                return new BerkeleyError(response.StatusCode);

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);
            return new BerkeleyError(error);
        }
Ejemplo n.º 18
0
 public async Task<BerkeleyError> WriteAsync(Byte[] key, Byte[] value, BerkeleyDbWriteMode writeMode)
 {
     return await _methods.WriteAsync(this, key, value, writeMode).ConfigureAwait(false);
 }
        public override async Task<BerkeleyError> WriteAsync(BerkeleyDb db, Byte[] key, Byte[] value, BerkeleyDbWriteMode writeMode)
        {
            String requestUri = "api/database/write/?handle=" + db.Handle.ToString() + "&writemode=" + writeMode.ToStringEx();
            var data = new BerkeleyDtoPut(key, value);
            var content = new ObjectContent<BerkeleyDtoPut>(data, _formatter, (String)null);
            HttpResponseMessage response = await _httpClient.PostAsync(requestUri, content).ConfigureAwait(false);
            if (!response.IsSuccessStatusCode)
                return new BerkeleyError(response.StatusCode);

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);
            return new BerkeleyError(error);
        }
Ejemplo n.º 20
0
        public BerkeleyDbError PutMultipleKey(IntPtr pdb, Byte[] data, BerkeleyDbWriteMode flags)
        {
            var keyDbt = new db_dbt();
            var dataDbt = new db_dbt();
            try
            {
                keyDbt.Init(data);
                keyDbt.flags |= db_dbt.DB_DBT_BULK;

                dataDbt.flags |= db_dbt.DB_DBT_READONLY;

                return (BerkeleyDbError)_put(pdb, IntPtr.Zero, ref keyDbt, ref dataDbt, (uint)flags | (int)BerkeleyDbMultiple.DB_MULTIPLE_KEY);
            }
            finally
            {
                keyDbt.Dispose();
                dataDbt.Dispose();
            }
        }
 public async Task<BerkeleyError> WriteAsync(BerkeleyDbWriteMode writeMode)
 {
     CloseWriteBuffer();
     foreach (Dto.BerkeleyDtoPut data in _writeData)
     {
         BerkeleyError error = await base.BerkeleyDb.Methods.WriteDuplicateAsync(base.BerkeleyDb, data, _writeKeyBuffer.BufferSize, writeMode).ConfigureAwait(false);
         if (error.HasError)
             return error;
     }
     _writeData.Clear();
     return BerkeleyError.NoError;
 }
Ejemplo n.º 22
0
 public BerkeleyDbError WriteMultipleKey([FromUri] ulong handle, BerkeleyDbWriteMode writeMode, [FromBody] Byte[] data)
 {
     DbHandle db = GetDb(handle);
     return db.Methods.PutMultipleKey(db.Handle, data, writeMode);
 }
Ejemplo n.º 23
0
        public BerkeleyDbError WriteMultipleDuplicate([FromUri] ulong handle, BerkeleyDbWriteMode writeMode, [FromBody] BerkeleyDtoPut data)
        {
            DbHandle db = GetDb(handle);

            return(db.Methods.PutMultipleDuplicate(db.Handle, data.Key, data.Value, writeMode));
        }