public override int EndRead(IAsyncResult asyncResult) { HmeAsyncResult result = (HmeAsyncResult)asyncResult; int readCount = _innerStream.EndRead(result.AsyncResult); Array.Copy(_innerStream.ReadBuffer, 0, result.ReadBuffer, result.Offset, readCount); return(readCount); }
public IHmeAsyncResult BeginWrite(byte[] buffer, int offset, int count, IHmeAsyncCallback callback) { HmeAsyncResult result = new HmeAsyncResult(); result.Callback = callback; result.AsyncResult = _innerStream.BeginWrite(buffer, offset, count, AsyncCallbackWrapper, result); return(result); }
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { HmeAsyncResult result = new HmeAsyncResult(); result.AsyncState = state; result.AsyncResult = _innerStream.BeginWrite(buffer, offset, count, new HmeAsyncCallback(callback, result)); return(result); }
public IHmeAsyncResult BeginRead(int count, IHmeAsyncCallback callback) { HmeAsyncResult result = new HmeAsyncResult(); result.Callback = callback; EnsureBuffer(count); result.AsyncResult = _innerStream.BeginRead(_readBuffer, 0, count, AsyncCallbackWrapper, result); return(result); }
private void AsyncCallbackWrapper(IAsyncResult asyncResult) { HmeAsyncResult hmeAsyncResult = (HmeAsyncResult)asyncResult.AsyncState; // AsyncResult could be null if operation completes syncronously if (hmeAsyncResult.AsyncResult == null) { hmeAsyncResult.AsyncResult = asyncResult; } hmeAsyncResult.Callback.AsyncCallback(hmeAsyncResult); }
public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { HmeAsyncResult result = new HmeAsyncResult(); result.AsyncState = state; result.ReadBuffer = buffer; result.Offset = offset; result.Count = count; result.AsyncResult = _innerStream.BeginRead(count, new HmeAsyncCallback(callback, result)); return(result); }
public int EndRead(IHmeAsyncResult asyncResult) { HmeAsyncResult result = (HmeAsyncResult)asyncResult; return(_innerStream.EndRead(result.AsyncResult)); }
public void EndWrite(IHmeAsyncResult asyncResult) { HmeAsyncResult result = (HmeAsyncResult)asyncResult; _innerStream.EndWrite(result.AsyncResult); }
public HmeAsyncCallback(AsyncCallback callback, HmeAsyncResult result) { _callback = callback; _result = result; }