public void TestAcknowledgeConfirmation() { _confirmingDistributor.Distribute(_set, _tracked, ApplicationMessageType.AddAttribute); var trackingIds = _confirmingDistributor.AllTrackingIds; Assert.Single(trackingIds); var tackingId = trackingIds.ToList()[0]; Assert.Equal(2, _confirmingDistributor.UnconfirmedNodesFor(tackingId).Count()); _confirmingDistributor.AcknowledgeConfirmation(tackingId, _confirmingDistributor.UnconfirmedNodesFor(tackingId).ToList()[0]); Assert.Single(_confirmingDistributor.UnconfirmedNodesFor(tackingId)); _confirmingDistributor.AcknowledgeConfirmation(tackingId, _confirmingDistributor.UnconfirmedNodesFor(tackingId).ToList()[0]); Assert.Empty(_confirmingDistributor.UnconfirmedNodesFor(tackingId)); }
//========================================= // AttributesAgent (core) //========================================= #region AttributesAgent (core) public void Add <T>(string attributeSetName, string attributeName, T value) { var set = _repository.AttributeSetOf(attributeSetName); if (set.IsNone) { var newSet = AttributeSet.Named(attributeSetName); newSet.AddIfAbsent(Attribute <T> .From(attributeName, value)); _repository.Add(newSet); _client.SyncWith(newSet); _confirmingDistributor.DistributeCreate(newSet); } else { var newlyTracked = set.AddIfAbsent(Attribute <T> .From(attributeName, value)); if (!newlyTracked.IsDistributed) { _confirmingDistributor.Distribute(set, newlyTracked, ApplicationMessageType.AddAttribute); } } }