예제 #1
0
        public Ping2Response Ack2(Ping2Request ack2)
        {
            lock (lockObject)
            {
                var response = new Ping2Response();

                MergeUpdateNodes(ack2.UpdatedNodes);
                AssignNodeState(selfNodeInformation.Endpoint, NodeState.Live);

                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);
            }
        }
예제 #3
0
 public override Task <Ping2Response> Ping2(Ping2Request request, ServerCallContext context)
 {
     return(Task.FromResult(node.Ack2(request)));
 }