Ejemplo n.º 1
0
        public void Connect <T>(IPEndPoint endpoint, Action <T> success, Action <Exception> faild) where T : IStreamReactor
        {
            TcpClient tcpClient = new TcpClient(endpoint);

            tcpClient.BeginConnect(endpoint.Address,
                                   endpoint.Port,
                                   async =>
            {
                try
                {
                    tcpClient.EndConnect(async);
                }
                catch (Exception e)
                {
                    faild(e);
                    return;
                }
                _daemonManager.SpawnWithReactor <T>(
                    reactor =>
                {
                    reactor.Bind(tcpClient.GetStream());
                    success(reactor);
                });
            }
                                   , null);
        }
Ejemplo n.º 2
0
 public void Listen <TReactor>(IPEndPoint endpoint) where TReactor : IStreamReactor
 {
     Listen(endpoint,
            (tcp) =>
     {
         _daemonManager.SpawnWithReactor <TReactor>(reactor => { reactor.Bind(tcp.GetStream()); });
     });
 }