static void Main(string[] args) { var connection = new Connection("http://localhost:3669/sensor/events"); connection.Start().Wait(); connection.AsObservable<SensorEvent>() .GroupBy(e => e.SensorId) .CombineLatest() .Select(latest => latest.Where(e => e.Reading > 0.75).ToList()) .Where(latest => latest.Count() >= 2) .Subscribe(latest => Console.WriteLine("Sensors {0} show readings greater than 0.75", string.Join(",", latest.Select(e => e.SensorId)))); Console.Read(); connection.Stop(); }
public static IObservable <string> AsObservable(this Connection connection) { return(connection.AsObservable(value => value)); }
public static IObservable <T> AsObservable <T>(this Connection connection) { return(connection.AsObservable(connection.JsonDeserializeObject <T>)); }
public static IObservable <T> AsObservable <T>(this Connection connection) { return(connection.AsObservable(value => JsonConvert.DeserializeObject <T>(value))); }