iipRequestKeepAlive method

void iipRequestKeepAlive(
  1. int callbackId,
  2. DateTime peerTime,
  3. int interval
)

Implementation

void iipRequestKeepAlive(int callbackId, DateTime peerTime, int interval) {
  int jitter = 0;

  var now = DateTime.now().toUtc();

  if (_lastKeepAliveReceived != null) {
    var diff = now.difference(_lastKeepAliveReceived!).inMicroseconds;
    //Console.WriteLine("Diff " + diff + " " + interval);

    jitter = (diff - interval).abs();
  }

  _sendParams()
    ..addUint8(0x80 | IIPPacketAction.KeepAlive)
    ..addUint32(callbackId)
    ..addDateTime(now)
    ..addUint32(jitter)
    ..done();

  _lastKeepAliveReceived = now;
}