public static void Main() { var serverAddress = ConfigurationManager.AppSettings.Get("ServerAddress"); var serverPort = int.Parse(ConfigurationManager.AppSettings.Get("ServerPort")); var clientAddress = ConfigurationManager.AppSettings.Get("ClientAddress"); var clientPort = int.Parse(ConfigurationManager.AppSettings.Get("ClientPort")); var cs = new UdpClientServer(); var serverChannel = new UdpCommunicationChannel(cs, new ChannelConfig { Address = serverAddress, Port = serverPort }); var clientChannel = new UdpCommunicationChannel(cs, new ChannelConfig { Address = clientAddress, Port = clientPort }); _userService = new GitHubUserSearchService(new HttpClientFactory()); _githubBrowser = new GithubBrowser(new HttpClientFactory()); var userListener = new Listener<UserQuery, UserResponse>(clientChannel, serverChannel); userListener.ListenObservable(GetUser); var repoListener = new Listener<RepoQuery, RepoResponse>(clientChannel, serverChannel); repoListener.ListenObservable(GetRepo); var favListener = new Listener<FavQuery, FavResponse>(clientChannel, serverChannel); favListener.ListenObservable(AddToFav); var publisher = new Publisher<RepoNotification>(serverChannel); _githubBrowser.NewCommitsFeed .Select(c => new RepoNotification { Commit = c }) .Subscribe(publisher); Console.ReadLine(); }
public Demos() { var factory = new HttpClientFactory(); _githubBrowser = new GithubBrowser(factory); _userSearchService = new GitHubUserSearchService(factory); }
public static void Main() { var serverAddress = ConfigurationManager.AppSettings.Get("ServerAddress"); var serverPort = int.Parse(ConfigurationManager.AppSettings.Get("ServerPort")); var clientAddress = ConfigurationManager.AppSettings.Get("ClientAddress"); var clientPort = int.Parse(ConfigurationManager.AppSettings.Get("ClientPort")); var cs = new UdpClientServer(); var serverChannel = new UdpCommunicationChannel(cs, new ChannelConfig { Address = serverAddress, Port = serverPort }); var clientChannel = new UdpCommunicationChannel(cs, new ChannelConfig { Address = clientAddress, Port = clientPort }); _userService = new GitHubUserSearchService(new HttpClientFactory()); _githubBrowser = new GithubBrowser(new HttpClientFactory()); var userListener = new Listener <UserQuery, UserResponse>(clientChannel, serverChannel); userListener.ListenObservable(GetUser); var repoListener = new Listener <RepoQuery, RepoResponse>(clientChannel, serverChannel); repoListener.ListenObservable(GetRepo); var favListener = new Listener <FavQuery, FavResponse>(clientChannel, serverChannel); favListener.ListenObservable(AddToFav); var publisher = new Publisher <RepoNotification>(serverChannel); _githubBrowser.NewCommitsFeed .Select(c => new RepoNotification { Commit = c }) .Subscribe(publisher); Console.ReadLine(); }