/// <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); } }
/// <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); } }