private void HandleLeaveAck(LeaveAckMessage msg) { _leaveAcksReceived++; if (_leaveAcksReceived == _leaveAcksExpected) { var leaveEnd = new LeaveEndMessage() { SourceID = _config.ID, DestinationID = Constants.NULL_DESTINATION, NodeCount = _nodeCount - 1 }; SendMessage(leaveEnd, _group); } }
private void _tcpServer_OnReceiveMessage(object sender, ReceiveMessageEventArgs e) { LogBroker.Log(string.Format("RX {0} from {1}", e.Message.Type, e.Message.SourceID)); switch (e.Message.Type) { case MessageType.KeyDistribute: var msg = e.Message as KeyDistributeMessage; _processor.Add(msg.Keys); var leaveAck = new LeaveAckMessage() { SourceID = _config.ID, DestinationID = Constants.NULL_DESTINATION }; SendMessage(leaveAck, _group); break; } }