Esempio n. 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);
        }
Esempio n. 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);
        }
Esempio n. 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);
        }
Esempio n. 4
0
 public extern static bool        dsn_task_wait_timeout(dsn_task_t task, int timeout_milliseconds);
Esempio n. 5
0
 public extern static bool        dsn_task_cancel2(dsn_task_t task, bool wait_until_finished, out bool finished);
Esempio n. 6
0
 public extern static void        dsn_task_add_ref(dsn_task_t task);
Esempio n. 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);
Esempio n. 8
0
 public static extern void          dsn_rpc_enqueue_response(dsn_task_t rpc_call, dsn_error_t err, dsn_message_t response);
Esempio n. 9
0
 public static extern int dsn_task_error(dsn_task_t task);
Esempio n. 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);
Esempio n. 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);
Esempio n. 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);
Esempio n. 13
0
 public extern static void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call, dsn_task_tracker_t tracker);
Esempio n. 14
0
 public extern static dsn_error_t dsn_task_error(dsn_task_t task);
Esempio n. 15
0
 public extern static bool        dsn_task_cancel(dsn_task_t task, bool wait_until_finished);
Esempio n. 16
0
 public extern static void        dsn_task_call(dsn_task_t task, dsn_task_tracker_t tracker, int delay_milliseconds);
Esempio n. 17
0
File: Utils.cs Progetto: whiker/rDSN
 public SafeTaskHandle(dsn_task_t nativeHandle)
     : base(nativeHandle, true)
 {
     Native.dsn_task_add_ref(nativeHandle);
 }
Esempio n. 18
0
 public extern static void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call);
Esempio n. 19
0
 public extern static void          dsn_rpc_enqueue_response(dsn_task_t rpc_call, dsn_error_t err, dsn_message_t response);
Esempio n. 20
0
File: Utils.cs Progetto: zmyer/rDSN
 public SafeTaskHandle(dsn_task_t nativeHandle, int callback_index)
     : base(nativeHandle, true)
 {
     _callback_index = callback_index;
     Native.dsn_task_add_ref(nativeHandle);
 }
Esempio n. 21
0
 public extern static void         dsn_file_task_enqueue(dsn_task_t cb_task, dsn_error_t err, size_t size);
Esempio n. 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);
Esempio n. 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
Esempio n. 24
0
 public static extern void         dsn_file_task_enqueue(dsn_task_t cb_task, dsn_error_t err, size_t size);
Esempio n. 25
0
 public static extern void         dsn_file_write(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Esempio n. 26
0
 public static extern void         dsn_file_read(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Esempio n. 27
0
 public static extern size_t       dsn_file_get_io_size(dsn_task_t cb_task);
Esempio n. 28
0
 public static extern void        dsn_task_release_ref(dsn_task_t task);
Esempio n. 29
0
 public extern static void        dsn_task_release_ref(dsn_task_t task);
Esempio n. 30
0
 public static extern void        dsn_task_add_ref(dsn_task_t task);
Esempio n. 31
0
 public extern static void        dsn_task_call(dsn_task_t task, int delay_milliseconds);
Esempio n. 32
0
 public static extern void        dsn_task_call(dsn_task_t task, int delay_milliseconds);
Esempio n. 33
0
 public extern static bool        dsn_task_wait(dsn_task_t task); 
Esempio n. 34
0
 public static extern bool        dsn_task_cancel2(dsn_task_t task, bool wait_until_finished, out bool finished);
Esempio n. 35
0
 public extern static dsn_error_t dsn_task_error(dsn_task_t task);
Esempio n. 36
0
 public static extern bool        dsn_task_wait(dsn_task_t task);
Esempio n. 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
Esempio n. 38
0
 public static extern bool        dsn_task_wait_timeout(dsn_task_t task, int timeout_milliseconds);
Esempio n. 39
0
 public extern static void         dsn_file_write(dsn_handle_t file, byte[] buffer, int count, UInt64 offset, dsn_task_t cb);
Esempio n. 40
0
 public static extern int dsn_task_error(dsn_task_t task);
Esempio n. 41
0
 public extern static size_t       dsn_file_get_io_size(dsn_task_t cb_task);
Esempio n. 42
0
 public static extern void          dsn_rpc_call(dsn_address_t server, dsn_task_t rpc_call);
Esempio n. 43
0
 public SafeTaskHandle(dsn_task_t nativeHandle, int callback_index)
     : base(nativeHandle, true)
 {
     _callback_index = callback_index;
     Native.dsn_task_add_ref(nativeHandle);
 }
Esempio n. 44
0
 public static extern bool        dsn_task_cancel(dsn_task_t task, bool wait_until_finished);