コード例 #1
0
ファイル: EioContext.cs プロジェクト: stangelandcl/manos
 public void Write(int fd, byte[] buffer, long offset, long length, Action <int, int> callback)
 {
     Libeio.write(fd, buffer, offset, length, (arg1, arg2) => {
         outstanding.Enqueue(() => callback(arg1, arg2));
         pulse.Send();
     });
 }
コード例 #2
0
        protected override int WriteSingleBuffer(ByteBuffer buffer)
        {
            var bytes = buffer.Bytes;

            if (buffer.Position > 0)
            {
                bytes = new byte[buffer.Length];
                Array.Copy(buffer.Bytes, buffer.Position, bytes, 0, buffer.Length);
            }
            Libeio.write(Handle.ToInt32(), bytes, position, buffer.Length, OnWriteDone);
            return(buffer.Length);
        }