When the Pigeon logger uploads (the measurements are in this package's
spec/; how the process's one sender acts on it is @igpapi/mobile's,
“One telemetry sender per process on the device clock …”):
An event's requested latency is its deadline. An upload goes out when
the earliest deadline among the pending events comes due, and it carries
everything pending. 0 and -2 are immediate
(PIGEON_IMMEDIATE_DELAY_MS is 0): the sender, woken by the event,
sends at once from its own loop. A positive latency is seconds (60.0,
150.0). -1 is the logger's default, 300 s.
The deadline is read once, when the event is logged (pigeonDueAfterMs,
by emitPigeonEvents), and kept with the event (QueuedTelemetryEvent.dueAtMs):
the payload never changes, so no wake-up reads the queue's payloads again.
There is no count trigger. The app's size threshold is never reached
in its uploads, so the library has none.
When the Pigeon logger uploads (the measurements are in this package's
spec/; how the process's one sender acts on it is@igpapi/mobile's, “One telemetry sender per process on the device clock …”):0and-2are immediate (PIGEON_IMMEDIATE_DELAY_MS is 0): the sender, woken by the event, sends at once from its own loop. A positive latency is seconds (60.0,150.0).-1is the logger's default, 300 s.pigeonDueAfterMs, byemitPigeonEvents), and kept with the event (QueuedTelemetryEvent.dueAtMs): the payload never changes, so no wake-up reads the queue's payloads again.