示例#1
0
 /// <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)
     {
     }
 }
示例#2
0
 /// <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);
     }
 }