public void AddPeer(Peer peer) { Peers.Add(peer); PeerInputPrinter printer = new PeerInputPrinter(peer); PeerListener listener = new PeerListener(peer, printer); listener.Start(); if (Peers.Count == 1) { SessionIndex = 0; } }
private static void setup(string host, int port) { Common.IO.Console.Message("Connecting..."); TcpClient client = new TcpClient(host, port); Common.IO.Console.Message("Connected"); Peer peer = new Peer(client); NetInputHandler iHandler = new NetInputHandler(); listener = new PeerListener(peer, iHandler); listener.Start(); Model.Peer = peer; Model.Listener = listener; }
public Task <ListenerSession> Start() { Action <ListenerStarted> onStarted = hooks.OnListenerStarted; TaskCompletionSource <ListenerSession> completion = new TaskCompletionSource <ListenerSession>(); listener = new PeerListenerBuilder() .WithNetwork(pool) .Build(hooks); listener.Hooks.OnListenerStarted = data => { onStarted?.Invoke(data); completion.SetResult(new ListenerSession(data.Port, pool)); }; listener.Start(); return(completion.Task); }