March 2018
Beginner to intermediate
410 pages
10h 40m
English
Our first test is to compute the number of seconds since we got some information from our subscription. If it's more than 70 seconds (remember that we configured a maximum interval of 60 seconds), we draw the conclusion that the subscription is no longer active. So we make a new subscription request:
private void SecondTimerCallback(object State)
{
DateTime Now = DateTime.Now;
double SecondsSinceLastEvent = Math.Min(
(Now - this.lastEventFields).TotalSeconds,
(Now - this.lastEventErrors).TotalSeconds);
double SecondsSinceLastOutput =
(Now - this.lastOutput).TotalSeconds;
RosterItem Item;
bool Search = false;
if (this.subscription != null && SecondsSinceLastEvent > 70)
this.SubscribeToSensorData();
Read now
Unlock full access