/// <summary> /// Triggers when message is recieved from MQTT server and perform segmentation. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MessageArrivedSegmentedCallback(object sender, MqttMsgPublishEventArgs e) { try { if (Segmentator.Push((T)Convert.ChangeType(Array.ConvertAll(System.Text.Encoding.UTF8.GetString(e.Message).Split(','), double.Parse), typeof(T))) == true) { OnReadFinished(Segmentator.Window); } } catch (System.FormatException) { } }
/// <summary> /// Start Reading /// </summary> public override void Start() { if (Segmentator == null) { List <T> output = new List <T>(); while (Client.ReadNextRecord()) { output.Add(Insert()); } OnReadFinished(output); } else { List <List <T> > Output = new List <List <T> >(); while (Client.ReadNextRecord()) { if (Segmentator.Push(Insert()) == true) { Output.Add(Segmentator.Window); } } OnReadFinished(Output); } }