public static dsn_task_t CopyRemoteFiles( dsn_address_t remote, string source_dir, string[] files, 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_files(remote, source_dir, files, dest_dir, overwrite, task, callbackOwner != null ? callbackOwner.tracker() : IntPtr.Zero); return(task); }
public static SafeTaskHandle CopyRemoteFiles( ulong remote, string source_dir, string[] files, string dest_dir, bool overwrite, TaskCode callbackCode, Clientlet callbackOwner, AioHandler callback, int hash = 0 ) { var idx = GlobalInterOpLookupTable.Put(callback); var task = Native.dsn_file_create_aio_task(callbackCode, _c_aio_handler_holder, (IntPtr)idx, hash, callbackOwner?.tracker() ?? IntPtr.Zero); Native.dsn_file_copy_remote_files(remote, source_dir, files, dest_dir, overwrite, task); return(new SafeTaskHandle(task, idx)); }