1 write to _window
System.ServiceModel.Primitives (1)
System\ServiceModel\Channels\TransmissionStrategy.cs (1)
91_window = new SlidingWindow(maxWindowSize);
42 references to _window
System.ServiceModel.Primitives (42)
System\ServiceModel\Channels\TransmissionStrategy.cs (42)
112return (_window.Count > 0 || _waitQueue.Count > 0); 172_window.Close(); 198sequenceNumber = _windowStart + _window.Count; 201if (_requestAcks && (_window.Count == _windowSize - 1 || QuotaRemaining == 1)) // can't add any more 207if (_window.Count == 0) 212_window.Add(message, Now, state); 218attemptInfo = new MessageAttemptInfo(_window.GetMessage(index), sequenceNumber, 0, state); 225return (_window.Count < _windowSize && // Does the message fit in the transmission window? 246_window.Close(); 259int count = Math.Min(_windowSize, QuotaRemaining) - _window.Count; 294if (_closed || _window.Count == 0) 297_window.RecordRetry(0, Now); 305attemptInfo = new MessageAttemptInfo(_window.GetMessage(0), _windowStart, _window.GetRetryCount(0), _window.GetState(0)); 314if (!_closed && (_window.Count > 0)) 345_window.Close(); 380if (_window.GetTransferred(index)) 383return new MessageAttemptInfo(_window.GetMessage(index), next, _window.GetRetryCount(index), _window.GetState(index)); 406Last = _windowStart + _window.Count - 1; 453if ((_windowStart == 1) && (_window.Count == 0)) 482long lastMessageSent = _windowStart + _window.Count - 1; 484int transferredInWindow = _window.TransferredCount; 512int endIndex = (int)((range.Upper > lastMessageSent) ? (_window.Count - 1) : (range.Upper - _windowStart)); 514newAck = _window.GetTransferredInRangeCount(beginIndex, endIndex) < (endIndex - beginIndex + 1); 520int endIndex = (int)((range.Upper > lastMessageSent) ? (_window.Count - 1) : (range.Upper - _windowStart)); 522transferredInWindow -= _window.GetTransferredInRangeCount(beginIndex, endIndex); 592QuotaRemaining = quotaRemaining - Math.Min(_windowSize, _window.Count); 610for (int i = 1; i < _window.Count; i++) 612if (_window.GetTransferred(i)) 627UpdateStats(now, _window.GetLastAttemptTime(i)); 631int inFlightAfterAck = Math.Min(_windowSize, _window.Count) - (int)slide; 635_window.Remove((int)slide); 667int sendEndIndex = Math.Min(_windowSize, _window.Count); 673for (int i = sendBeginIndex; i < _windowSize && i < _window.Count; i++) 677if (!_window.GetTransferred(i) && !_retransmissionWindow.Contains(sequenceNumber)) 679_window.RecordRetry(i, Now); 685if (_window.Count > 0) 696_window.SetTransferred((int)(i - _windowStart)); 726if (_windowStart + _window.Count + _waitQueue.Count == long.MaxValue)