protected override IPeeringResult PeerChild(IDipNode child)
        {
            if (child.Role.HasFlag(DipRole.RemoteTerminal))
            {
                return(PeeringFailure(child, new InvalidOperationException("Local nodes cannot directly peer with remote terminals")));
            }

            var result = child.PeerParentAsync(this).Result;

            return(new PeeringResult(result.PeeringState, child, result.Exception));
        }
Example #2
0
 protected override IPeeringResult PeerChild(IDipNode child)
 {
     if (child.Role == DipRole.HostNetwork || child.Role == DipRole.RemoteNetwork)
     {
         var result = child.PeerParentAsync(this).Result;
         return(new PeeringResult(result.PeeringState, child));
     }
     else
     {
         return(PeeringFailure(child, new InvalidOperationException("Global node cannot have parent node")));
     }
 }
Example #3
0
 protected override IPeeringResult PeerChild(IDipNode child)
 {
     if (child.Role.HasFlag(DipRole.Local) || child.Role.HasFlag(DipRole.Host))
     {
         var result = child.PeerParentAsync(this).Result;
         return(new PeeringResult(result.PeeringState, child, result.Exception));
     }
     else
     {
         return(PeeringFailure(child, new InvalidOperationException("Localhost Network may only parent local and host nodes.")));
     }
 }
Example #4
0
 private void SuccessfullyPeerRouterWithChild(LocalRouter router, IDipNode node)
 {
     var result = node.PeerParentAsync(router).Result;
      Assert.AreEqual(PeeringState.Connected, result.PeeringState);
 }
        private void SuccessfullyPeerRouterWithChild(LocalRouter router, IDipNode node)
        {
            var result = node.PeerParentAsync(router).Result;

            Assert.AreEqual(PeeringState.Connected, result.PeeringState);
        }