static void Main(string[] args) { var rt1 = new Router("rt1"); var rt2 = new Router("rt2"); var ln1 = new RouterLink(rt1, rt2); PrintSplitter(); PrintRoutes(rt1); PrintRoutes(rt2); var rt3 = new Router("rt3"); var ln2 = new RouterLink(rt1, rt3); PrintSplitter(); PrintRoutes(rt1); PrintRoutes(rt2); PrintRoutes(rt3); var rt4 = new Router("rt4"); var ln3 = new RouterLink(rt2, rt4); PrintSplitter(); PrintRoutes(rt1); PrintRoutes(rt2); PrintRoutes(rt3); PrintRoutes(rt4); var rt5 = new Router("rt5"); var ln4 = new RouterLink(rt2, rt5); PrintSplitter(); PrintRoutes(rt1); PrintRoutes(rt2); PrintRoutes(rt3); PrintRoutes(rt4); PrintRoutes(rt5); PrintSplitter(); var message = rt5.BuildMessage("rt3"); message.Label = "hello, rt3!"; message.Send(); // check the rt3 inbox for messages Console.WriteLine("rt3 inbox size is: {0}", rt3.Inbox.Count); Console.WriteLine("press enter..."); Console.ReadLine(); // now routes must be : // // +-- r4 // | // r3 -- r1 -- r2 // | // +-- r5 }
public RouterLinkEnd(RouterLink link, Router router, string remoteId) { Link = link; Id = router.Id; LinkedRouter = router; RemoteId = remoteId; router.AddLinkEnd(this); }