private async Task SendPoint(string socketId, RawDataRange dataRange)
 {
     try
     {
         _logger.LogDebug("Sending raw point...");
         var message = JsonConvert.SerializeObject(dataRange);
         await _sender.Send(socketId, message);
     }
     catch (Exception exception)
     {
         _logger.LogError(new EventId(106), exception, "Error sending raw point");
     }
 }
        public void DontMergeAfterEndRaw()
        {
            var range = new RawDataRange(100, 200, new List <double> {
                100, 10, 150, 15, 200, 20
            });
            var newRange = new RawDataRange(new TimeRange(250, 300), new List <double> {
                250, 25, 300, 30
            });
            var actual = _rawMerger.MergeRangeWithRanges(new List <RawDataRange> {
                range
            }, newRange);
            var expected = new List <RawDataRange> {
                range, newRange
            };

            actual.Should().BeEquivalentTo(expected);
        }
        public void MergeTouchingEndRaw()
        {
            var range = new RawDataRange(100, 200, new List <double> {
                100, 10, 150, 15, 200, 20
            });
            var newRange = new RawDataRange(new TimeRange(200, 250), new List <double> {
                200, 20, 250, 25
            });
            var actual = _rawMerger.MergeRangeWithRanges(new List <RawDataRange> {
                range
            }, newRange);
            var expected = new List <RawDataRange> {
                new RawDataRange(100, 250, new List <double> {
                    100, 10, 150, 15, 200, 20, 250, 25
                })
            };

            actual.Should().BeEquivalentTo(expected);
        }
        public void MergeThreeRaw()
        {
            var one = new RawDataRange(1500112845, 1500112845, new List <double> {
                1500112845, 10
            });
            var two = new RawDataRange(1500112845, 1500150214, new List <double> {
                1500112845, 10, 1500150210, 11
            });
            var three = new RawDataRange(1500150214, 1500150215, new List <double> {
                1500150215, 12
            });

            var actual   = _rawMerger.MergeRangesWithRange(two, new [] { one, three });
            var expected = new List <RawDataRange> {
                new RawDataRange(1500112845, 1500150215, new List <double> {
                    1500112845, 10, 1500150210, 11, 1500150215, 12
                })
            };

            actual.Should().BeEquivalentTo(expected);
        }
Beispiel #5
0
        public static IEnumerable <Datum> GetData(this RawDataRange source)
        {
            var i     = 0;
            var datum = new Datum();

            using (var dataEnumerator = source.Data.GetEnumerator())
            {
                while (dataEnumerator.MoveNext())
                {
                    if (i % 2 == 1)
                    {
                        datum.Value = dataEnumerator.Current;
                        yield return(datum);
                    }
                    else
                    {
                        datum.Time = dataEnumerator.Current;
                    }
                    i++;
                }
            }
        }
Beispiel #6
0
 public async Task ReceiveRealtimeRaw(string sourceName, RawDataRange dataRange)
 {
     await _client.SendRealtimeRawData(sourceName, dataRange);
 }
 public async Task NotifyRaw(Guid entity, Guid attribute, RawDataRange dataRange)
 {
     await _pusher.TriggerAsync(_configuration.ChannelName, $"{entity}_{attribute}_raw", JsonConvert.SerializeObject(dataRange, JsonSettings.Setttings));
 }
Beispiel #8
0
 public Task NotifyRealtime(string sourceName, [FromBody] RawDataRange dataRange)
 {
     _validator.ValidateAndThrow(dataRange);
     return(_processor.ReceiveRealtimeRaw(sourceName, dataRange));
 }
        public async Task AddRealtimeRawData(Guid dataSource, string sourceName, int aggregationSeconds, [FromBody] RawDataRange dataRange)
        {
            var(entity, attribute) = await _model.ResolveEntityAndAttribute(dataSource, sourceName);

            await _processor.ReceiveRealtimeRawData(entity, attribute, dataRange);
        }
Beispiel #10
0
 public async Task ReceiveRealtimeRawData(Guid entity, Guid attribute, RawDataRange rawDataRange)
 {
     await _messenger.NotifyRaw(entity, attribute, rawDataRange);
 }
Beispiel #11
0
 public Task NotifyRaw(Guid entity, Guid attribute, RawDataRange dataRange)
 {
     return(Task.CompletedTask);
 }