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); }
public static SafeTaskHandle FileWrite( dsn_handle_t hFile, byte[] buffer, int count, ulong offset, 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_write(hFile, buffer, count, offset, task); return(new SafeTaskHandle(task, idx)); }