Пример #1
0
        public static dsn_task_t FileWrite(
            dsn_handle_t hFile,
            byte[] buffer,
            int count,
            UInt64 offset,
            TaskCode callbackCode,
            Servicelet callbackOwner,
            AioHandler callback,
            int hash = 0
            )
        {
            int        idx  = GlobalInterOpLookupTable.Put(callback);
            dsn_task_t task = Native.dsn_file_create_aio_task(callbackCode, _c_aio_handler_holder, (IntPtr)idx, hash);

            Native.dsn_file_write(hFile, buffer, count, offset, task, callbackOwner != null ? callbackOwner.tracker() : IntPtr.Zero);
            return(task);
        }
Пример #2
0
        public static dsn_task_t CopyRemoteDirectory(
            dsn_address_t remote,
            string source_dir,
            string dest_dir,
            bool overwrite,
            TaskCode callbackCode,
            Servicelet callbackOwner,
            AioHandler callback,
            int hash = 0
            )
        {
            int        idx  = GlobalInterOpLookupTable.Put(callback);
            dsn_task_t task = Native.dsn_file_create_aio_task(callbackCode, _c_aio_handler_holder, (IntPtr)idx, hash);

            Native.dsn_file_copy_remote_directory(remote, source_dir, dest_dir, overwrite, task, callbackOwner != null ? callbackOwner.tracker() : IntPtr.Zero);
            return(task);
        }
Пример #3
0
        public static void RpcCallAsync(
            RpcAddress server,
            RpcWriteStream requestStream,
            Servicelet callbackOwner,
            RpcResponseHandler callback,
            int replyHash = 0
            )
        {
            Logging.dassert(requestStream.IsFlushed(),
                            "RpcWriteStream must be flushed after write in the same thread");

            var        idx  = GlobalInterOpLookupTable.Put(callback);
            dsn_task_t task = Native.dsn_rpc_create_response_task(
                requestStream.DangerousGetHandle(),
                _c_rpc_response_handler_holder,
                (IntPtr)idx,
                replyHash
                );

            Native.dsn_rpc_call(server, task, callbackOwner != null ? callbackOwner.tracker() : IntPtr.Zero);
        }
Пример #4
0
 public extern static bool        dsn_task_wait_timeout(dsn_task_t task, int timeout_milliseconds);
Пример #5
0
 public extern static bool        dsn_task_cancel2(dsn_task_t task, bool wait_until_finished, out bool finished);
Пример #6
0
 public extern static void        dsn_task_add_ref(dsn_task_t task);
Пример #7
0
 public static extern void         dsn_file_copy_remote_directory(dsn_address_t remote, string source_dir, string dest_dir, bool overwrite, dsn_task_t cb);
Пример #8
0
 public static extern void          dsn_rpc_enqueue_response(dsn_task_t rpc_call, dsn_error_t err, dsn_message_t response);
Пример #9
0
 public static extern int dsn_task_error(dsn_task_t task);
Пример #10
0
 public extern static void         dsn_file_copy_remote_files(dsn_address_t remote, string source_dir, string[] source_files, string dest_dir, bool overwrite, dsn_task_t cb);
Пример #11
0
 public extern static void         dsn_file_copy_remote_directory(dsn_address_t remote, string source_dir, string dest_dir, bool overwrite, dsn_task_t cb, dsn_task_tracker_t tracker);
Пример #12
0
 public extern static void         dsn_file_write(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb, dsn_task_tracker_t tracker);
Пример #13
0
 public extern static void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call, dsn_task_tracker_t tracker);
Пример #14
0
 public extern static dsn_error_t dsn_task_error(dsn_task_t task);
Пример #15
0
 public extern static bool        dsn_task_cancel(dsn_task_t task, bool wait_until_finished);
Пример #16
0
 public extern static void        dsn_task_call(dsn_task_t task, dsn_task_tracker_t tracker, int delay_milliseconds);
Пример #17
0
 public SafeTaskHandle(dsn_task_t nativeHandle)
     : base(nativeHandle, true)
 {
     Native.dsn_task_add_ref(nativeHandle);
 }
Пример #18
0
 public extern static void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call);
Пример #19
0
 public extern static void          dsn_rpc_enqueue_response(dsn_task_t rpc_call, dsn_error_t err, dsn_message_t response);
Пример #20
0
 public SafeTaskHandle(dsn_task_t nativeHandle, int callback_index)
     : base(nativeHandle, true)
 {
     _callback_index = callback_index;
     Native.dsn_task_add_ref(nativeHandle);
 }
Пример #21
0
 public extern static void         dsn_file_task_enqueue(dsn_task_t cb_task, dsn_error_t err, size_t size);
Пример #22
0
 public static extern void         dsn_file_copy_remote_files(dsn_address_t remote, string source_dir, string[] source_files, string dest_dir, bool overwrite, dsn_task_t cb);
Пример #23
0
 public static extern dsn_message_t dsn_rpc_get_response(dsn_task_t rpc_call); // returned msg must be explicitly msg_release_ref
Пример #24
0
 public static extern void         dsn_file_task_enqueue(dsn_task_t cb_task, dsn_error_t err, size_t size);
Пример #25
0
 public static extern void         dsn_file_write(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Пример #26
0
 public static extern void         dsn_file_read(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Пример #27
0
 public static extern size_t       dsn_file_get_io_size(dsn_task_t cb_task);
Пример #28
0
 public static extern void        dsn_task_release_ref(dsn_task_t task);
Пример #29
0
 public extern static void        dsn_task_release_ref(dsn_task_t task);
Пример #30
0
 public static extern void        dsn_task_add_ref(dsn_task_t task);
Пример #31
0
 public extern static void        dsn_task_call(dsn_task_t task, int delay_milliseconds);
Пример #32
0
 public static extern void        dsn_task_call(dsn_task_t task, int delay_milliseconds);
Пример #33
0
 public extern static bool        dsn_task_wait(dsn_task_t task); 
Пример #34
0
 public static extern bool        dsn_task_cancel2(dsn_task_t task, bool wait_until_finished, out bool finished);
Пример #35
0
 public extern static dsn_error_t dsn_task_error(dsn_task_t task);
Пример #36
0
 public static extern bool        dsn_task_wait(dsn_task_t task);
Пример #37
0
 public extern static dsn_message_t dsn_rpc_get_response(dsn_task_t rpc_call); // returned msg must be explicitly msg_release_ref
Пример #38
0
 public static extern bool        dsn_task_wait_timeout(dsn_task_t task, int timeout_milliseconds);
Пример #39
0
 public extern static void         dsn_file_write(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Пример #40
0
 public static extern int dsn_task_error(dsn_task_t task);
Пример #41
0
 public extern static size_t       dsn_file_get_io_size(dsn_task_t cb_task);
Пример #42
0
 public static extern void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call);
Пример #43
0
 public SafeTaskHandle(dsn_task_t nativeHandle, int callback_index)
     : base(nativeHandle, true)
 {
     _callback_index = callback_index;
     Native.dsn_task_add_ref(nativeHandle);
 }
Пример #44
0
 public static extern bool        dsn_task_cancel(dsn_task_t task, bool wait_until_finished);