| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // See https://aka.ms/new-console-template for more information
- using System.IO.Abstractions;
- using qmonlib;
- using qmonlib.Test;
- using Quadarax.Foundation.Core.Logging;
- var logger = new ConsoleLogger();
- var cancel = new CancellationTokenSource();
- new Thread(() =>
- {
- OnStartReceiver(cancel.Token);
- }).Start();
- Console.WriteLine("Waiting for receiver starts...");
- Thread.Sleep(5000);
- using (var cli = new QMonClient("TST", QMonClientConfiuration.CreateDefault(), logger))
- {
- cli.Notify(new TestItem()
- {
- Age = 4,
- FirstName = "Adam",
- LastName = "Votruba"
- });
- cli.Notify(new TestItem()
- {
- Age = 47,
- FirstName = "Dalibor",
- LastName = "Votruba"
- });
- cli.Notify(new TestItem()
- {
- Age = 43,
- FirstName = "Dita",
- LastName = "Rychetská"
- });
- Console.WriteLine("Press any key to close...");
- Console.ReadKey();
- cancel.Cancel();
- }
- void OnGeneralReceived(MonGeneral general)
- {
- Console.WriteLine($"General received: {general.InstanceIdentifier} items count {general.Items.Count}");
- }
- void OnDataReceived(MonData[] data)
- {
- Console.WriteLine($"Data received: Count={data.Length}");
- }
- void OnStartReceiver(CancellationToken cancelToken)
- {
- using (var rcv = new QMonReceiver( new FileSystem(), QMonReceiverConfiguration.CreateDefault(), logger, OnGeneralReceived, OnDataReceived))
- {
- while (!cancelToken.IsCancellationRequested)
- Thread.Sleep(100);
- }
- Console.WriteLine("Receiver stopped");
- }
|