public BerkeleyDbError Close([FromUri] ulong handle, BerkeleyDbClose flags)
        {
            DbHandle db = DbInstance.RemoveDb(handle);
            if (db.Handle == IntPtr.Zero)
                throw new HttpResponseException((HttpStatusCode)422);

            return db.Methods.Close(db.Handle, flags);
        }
        public override async Task<BerkeleyError> CloseDbAsync(BerkeleyDb db, BerkeleyDbClose flags)
        {
            String requestUri = "api/database/close/?handle=" + db.Handle.ToString() + "&flags=" + flags.ToStringEx();
            HttpResponseMessage response = await _httpClient.GetAsync(requestUri).ConfigureAwait(false);
            if (!response.IsSuccessStatusCode)
                return new BerkeleyError(response.StatusCode);

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);
            return new BerkeleyError(error);
        }
예제 #3
0
        public async Task<BerkeleyError> CloseAsync(BerkeleyDbClose flags)
        {
            if (_handle == InvalidHandle)
                return BerkeleyError.NoError;

            BerkeleyError error = await _methods.CloseDbAsync(this, flags).ConfigureAwait(false);
            if (!error.HasError)
                _handle = InvalidHandle;
            return error;
        }
예제 #4
0
        public BerkeleyDbError Close([FromUri] ulong handle, BerkeleyDbClose flags)
        {
            DbHandle db = DbInstance.RemoveDb(handle);

            if (db.Handle == IntPtr.Zero)
            {
                throw new HttpResponseException((HttpStatusCode)422);
            }

            return(db.Methods.Close(db.Handle, flags));
        }
예제 #5
0
        public override async Task <BerkeleyError> CloseDbAsync(BerkeleyDb db, BerkeleyDbClose flags)
        {
            String requestUri            = "api/database/close/?handle=" + db.Handle.ToString() + "&flags=" + flags.ToStringEx();
            HttpResponseMessage response = await _httpClient.GetAsync(requestUri).ConfigureAwait(false);

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

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

            return(new BerkeleyError(error));
        }
예제 #6
0
        public static String ToStringEx(this BerkeleyDbClose flags)
        {
            switch (flags)
            {
            case 0:
                return("0");

            case BerkeleyDbClose.DB_NOSYNC:
                return("db_nosync");

            default:
                throw new ArgumentOutOfRangeException(flags.ToString());
            }
        }
예제 #7
0
        public async Task <BerkeleyError> CloseAsync(BerkeleyDbClose flags)
        {
            if (_handle == InvalidHandle)
            {
                return(BerkeleyError.NoError);
            }

            BerkeleyError error = await _methods.CloseDbAsync(this, flags).ConfigureAwait(false);

            if (!error.HasError)
            {
                _handle = InvalidHandle;
            }
            return(error);
        }
예제 #8
0
 public BerkeleyDbError Close(IntPtr pdb, BerkeleyDbClose flags)
 {
     return (BerkeleyDbError)_close(pdb, (uint)flags);
 }
 public abstract Task <BerkeleyError> CloseDbAsync(BerkeleyDb db, BerkeleyDbClose flags);
 public abstract Task<BerkeleyError> CloseDbAsync(BerkeleyDb db, BerkeleyDbClose flags);
예제 #11
0
 public BerkeleyDbError Close(IntPtr pdb, BerkeleyDbClose flags)
 {
     return((BerkeleyDbError)_close(pdb, (uint)flags));
 }