public override int Read(byte[] buffer, int offset, int count) { var asyncRequest = new AsyncReadRequest(this, true, buffer, offset, count); var task = StartOperation(OperationType.Read, asyncRequest, CancellationToken.None); return(task.Result); }
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback asyncCallback, object asyncState) { var asyncRequest = new AsyncReadRequest(this, false, buffer, offset, count); var task = StartOperation(OperationType.Read, asyncRequest, CancellationToken.None); return(TaskToApm.Begin(task, asyncCallback, asyncState)); }
public override Task <int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) { var asyncRequest = new AsyncReadRequest(this, false, buffer, offset, count); return(StartOperation(OperationType.Read, asyncRequest, cancellationToken)); }