예제 #1
0
        protected FdbFuture(FdbFutureHandle handle)
            : base(handle)
        {
            _tcs = new TaskCompletionSource <T>(TaskCreationOptions.RunContinuationsAsynchronously);

            RegisterCallback(SetResult);
        }
예제 #2
0
 private static extern FdbError fdb_future_block_until_ready(FdbFutureHandle future);
예제 #3
0
 private static extern FdbError fdb_future_get_error(FdbFutureHandle future);
예제 #4
0
 private static extern FdbError fdb_future_set_callback(
     FdbFutureHandle future,
     [MarshalAs(UnmanagedType.FunctionPtr)] FdbCallback callbackMethod,
     IntPtr callbackParameter);
예제 #5
0
        protected FdbFutureBase(FdbFutureHandle handle)
        {
            Handle = handle ?? throw new ArgumentNullException(nameof(handle));

            _disposed = false;
        }
 public FdbClusterFuture(FdbFutureHandle futureHandle)
     : base(futureHandle)
 {
 }
 private static extern FdbError fdb_future_get_cluster(FdbFutureHandle future, out FdbClusterHandle cluster);
예제 #8
0
 public FdbVoidFuture(FdbFutureHandle futureHandle)
     : base(futureHandle)
 {
 }
예제 #9
0
 public FdbDatabaseFuture(FdbFutureHandle futureHandle)
     : base(futureHandle)
 {
 }
예제 #10
0
 private static extern FdbError fdb_future_get_database(FdbFutureHandle future, out FdbDatabaseHandle database);
예제 #11
0
 public FdbValueFuture(FdbFutureHandle futureHandle)
     : base(futureHandle)
 {
 }
예제 #12
0
 private static extern FdbError fdb_future_get_value(
     FdbFutureHandle future,
     [MarshalAs(UnmanagedType.Bool)] out bool present,
     out IntPtr value,
     out int len);