Пример #1
0
        /// <exception cref="ExitWithError" />
        public override void Run(string[] args, CancellationToken ct)
        {
            _optionSet.Parse(args);

            var localSocketClient = new LocalSocketClient(new TcpClient("127.0.0.1", 12122));

            localSocketClient.StartRead();
            var serializer = new Serializer();
            var client     = new Client(localSocketClient, serializer);

            client.Request(new HelloRequest()
            {
                Identifier = "Event Viewer",
            }).Wait();

            client.Request(new SubscribeRequest(_eventFilter, replay: true, subscriptionId: 0));

            var messages = localSocketClient.IncomingMessages;

            messages.TryDeserialize(serializer, _report).OfType <IEventMessage <UnresolvedMessagePayload> >().Subscribe(WriteEvent);

            var run = true;

            localSocketClient.Disconnected.Subscribe(c => run = false);
            //TODO handle ctrl+c

            while (run)
            {
                Thread.Sleep(500);
            }
        }
Пример #2
0
        /// <exception cref="FailedToConnectToDaemon" />
        public static IMessagingService Connect(this IFuseLauncher fuseLauncher)
        {
            try
            {
                var tcpClient = new TcpClient("127.0.0.1", 12122);
                var client    = new LocalSocketClient(tcpClient);
                client.StartRead();

                return(new Client(
                           client,
                           new Serializer()));
            }
            catch (Exception e)
            {
                throw new FailedToConnectToDaemon(e);
            }
        }