예제 #1
0
        public Ping1Response Syn(Ping1Request syn)
        {
            lock (lockObject)
            {
                var response = new Ping1Response();
                FillRequiredOrUpdatedNodes(
                    syn.NodesSynopsis,
                    response.RequiredNodesSynopsis,
                    response.UpdatedNodes);

                return(response);
            }
        }
예제 #2
0
        public Ping2Request Ack1(Ping1Response ack1)
        {
            lock (lockObject)
            {
                var response = new Ping2Request();

                MergeUpdateNodes(ack1.UpdatedNodes);

                AssignNodeState(selfNodeInformation.Endpoint, NodeState.Live);

                var ignored = new List <NodeInformationSynopsis>();
                FillRequiredOrUpdatedNodes(
                    ack1.RequiredNodesSynopsis,
                    ignored,
                    response.UpdatedNodes);

                return(response);
            }
        }