static void Main(string[] args) { var monitorLoop = new NetworkMonitorLoop(); using (var cancellationTokenSource = new System.Threading.CancellationTokenSource()) { monitorLoop.Run(cancellationTokenSource.Token); BuildAvaloniaApp().Start <MainWindow>(() => new MainWindowViewModel(monitorLoop)); } }
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddSingleton(ctx => { var monitorLoop = new NetworkMonitorLoop(); monitorLoop.Run(_cancellationTokenSource.Token); return(monitorLoop); }); }
static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; using (var cancellation = new CancellationTokenSource()) { var loop = new NetworkMonitorLoop(); loop.DataAvailable += data => { Console.Clear(); data.ForEach(Render); }; loop.Run(cancellation.Token); Console.ReadKey(); } }
public HomeController(NetworkMonitorLoop loop) { _loop = loop; _loop.DataAvailable += data => _currentInfo = data; }
public MainWindowViewModel(NetworkMonitorLoop monitorLoop) { _monitorLoop = monitorLoop; _monitorLoop.DataAvailable += OnDataAvailable; }