public void SetNextRequest(byte[] buffer, int offset, int count, AsyncProtocolCallback callback) { if (this._CompletionStatus != 0) { throw new InternalException(); } this.Buffer = buffer; this.Offset = offset; this.Count = count; this._Callback = callback; }
// // public void SetNextRequest(byte[] buffer, int offset, int count, AsyncProtocolCallback callback) { if (_CompletionStatus != StatusNotStarted) { throw new InternalException(); // pending op is in progress } Buffer = buffer; Offset = offset; Count = count; _Callback = callback; }
public void SetNextRequest(byte[] buffer, int offset, int count, AsyncProtocolCallback callback) { if (_completionStatus != StatusNotStarted) { throw new InternalException(); // Pending operation is in progress. } Buffer = buffer; Offset = offset; Count = count; _callback = callback; }
public void Reset(LazyAsyncResult userAsyncResult) { if (userAsyncResult == null) { NetEventSource.Fail(this, "userAsyncResult == null"); } if (userAsyncResult.InternalPeekCompleted) { NetEventSource.Fail(this, "userAsyncResult is already completed."); } UserAsyncResult = userAsyncResult; _callback = null; _completionStatus = 0; Result = 0; AsyncState = null; Buffer = null; Offset = 0; Count = 0; #if DEBUG _DebugAsyncChain = 0; #endif }
public void Reset(LazyAsyncResult userAsyncResult) { if (userAsyncResult == null) { NetEventSource.Fail(this, "userAsyncResult == null"); } if (userAsyncResult.InternalPeekCompleted) { NetEventSource.Fail(this, "userAsyncResult is already completed."); } UserAsyncResult = userAsyncResult; _callback = null; _completionStatus = 0; Result = 0; AsyncState = null; Buffer = null; Offset = 0; Count = 0; #if DEBUG _debugAsyncChain = 0; #endif }
internal void SetNextRequest(SplitWritesState splitWritesState, AsyncProtocolCallback callback) { SplitWritesState = splitWritesState; SetNextRequest(null, 0, 0, callback); }
internal void SetNextRequest(SplitWritesState splitWritesState, AsyncProtocolCallback callback) { SplitWritesState = splitWritesState; SetNextRequest(null, 0, 0,callback); }
private int EnsureBufferedBytes(int minSize, AsyncProtocolRequest asyncRequest, AsyncProtocolCallback asyncCallback) { if (_internalBufferCount >= minSize) { return(minSize); } int bytesRead; if (asyncRequest != null) { if (TaskToAsyncProtocolRequest( FillBufferAsync(minSize), asyncRequest, asyncCallback, out bytesRead)) { return(-1); } } else { bytesRead = FillBuffer(minSize); } Debug.Assert(bytesRead == 0 || bytesRead == minSize); return(bytesRead); }
// Returns true if pending, false if completed private static bool TaskToAsyncProtocolRequest(Task <int> task, AsyncProtocolRequest asyncRequest, AsyncProtocolCallback asyncCallback, out int result) { // Parameters other than asyncCallback are not used asyncRequest.SetNextRequest(null, 0, 0, asyncCallback); if (task.IsCompleted) { CompleteFromCompletedTask(task, asyncRequest); } else { task.ContinueWith((t, s) => CompleteFromCompletedTask(t, (AsyncProtocolRequest)s), asyncRequest, CancellationToken.None, TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.DenyChildAttach, TaskScheduler.Default); } if (asyncRequest.MustCompleteSynchronously) { result = asyncRequest.Result; return(false); } result = 0; return(true); }
internal void SetNextRequest(System.Net.SplitWritesState splitWritesState, AsyncProtocolCallback callback) { this.SplitWritesState = splitWritesState; base.SetNextRequest(null, 0, 0, callback); }