public override async Task Start(Models.Simulation model, CancellationToken token, int interval = 5000) { Model = model; Simulator = new Etp12Simulator(model); _log.Debug($"Establishing ETP connection for {Model.EtpConnection}"); using (Client = Model.EtpConnection.CreateEtpClient(Model.Name, Model.Version)) { Client.Register <IChannelStreamingProducer, ChannelStreamingProducerHandler>(); Client.Handler <IChannelStreamingProducer>().OnStartStreaming += OnStartStreaming; Client.Handler <IChannelStreamingProducer>().OnStopStreaming += OnStopStreaming; //Client.Handler<IChannelStreamingProducer>().OnStart += OnStart; //Client.Handler<IChannelStreamingProducer>().OnChannelDescribe += OnChannelDescribe(); //Client.Handler<IChannelStreamingProducer>().OnChannelStreamingStart += OnChannelStreamingStart; //Client.Handler<IChannelStreamingProducer>().OnChannelStreamingStop += OnChannelStreamingStop; //Client.Handler<IChannelStreamingProducer>().IsSimpleStreamer = Model.IsSimpleStreamer; //Client.Handler<IChannelStreamingProducer>().DefaultDescribeUri = EtpUri.RootUri; Client.SocketClosed += OnClientSocketClosed; Client.Output = Log; if (!await Client.OpenAsync()) { Log("Error opening web socket connection"); return; } while (true) { if (token.IsCancellationRequested) { break; } try { await Task.Delay(interval, token); } catch (TaskCanceledException) { break; } } TaskRunner.Stop(); Client.Handler <ICoreClient>() .CloseSession("Streaming stopped."); } }
public SimulationChannelStreaming12Provider(IEtpSimulator simulator) { Simulator = simulator; }
public SimulationDiscovery12Provider(IEtpSimulator simulator) { Simulator = simulator; }
public SimulationChannelStreaming11Provider(IEtpSimulator simulator) { Simulator = simulator; IsSimpleStreamer = true; }