Akka.Remote.EndpointReader.UpdateSavedState C# (CSharp) Метод

UpdateSavedState() приватный Метод

private UpdateSavedState ( EndpointManager key, EndpointManager expectedState ) : void
key EndpointManager
expectedState EndpointManager
Результат void
        private void UpdateSavedState(EndpointManager.Link key, EndpointManager.ResendState expectedState)
        {
            while (true)
            {
                if (expectedState == null)
                {
                    if (_receiveBuffers.ContainsKey(key))
                    {
                        var updatedValue = new EndpointManager.ResendState(_uid, _ackedReceiveBuffer);
                        _receiveBuffers.AddOrUpdate(key, updatedValue, (link, state) => updatedValue);
                        expectedState = updatedValue;
                        continue;
                    }
                }
                else
                {
                    var canReplace = _receiveBuffers.ContainsKey(key) && _receiveBuffers[key].Equals(expectedState);
                    if (canReplace)
                    {
                        _receiveBuffers[key] = Merge(new EndpointManager.ResendState(_uid, _ackedReceiveBuffer), expectedState);
                    }
                    else
                    {
                        EndpointManager.ResendState previousValue;
                        _receiveBuffers.TryGetValue(key, out previousValue);
                        expectedState = previousValue;
                        continue;
                    }
                }
                break;
            }
        }