clampOccurredAt function

DateTime clampOccurredAt({
  1. required DateTime clientOccurredAt,
  2. required DateTime receivedAt,
  3. Duration maxSkew = kMaxEventSkew,
})

Clamps an untrusted clientOccurredAt against the server-trusted receivedAt. Never drops the event — a stale/future time is bounded, and the raw value is preserved separately by the caller.

  • future (client > received, clock-ahead device) → receivedAt;
  • past within maxSkew (floor inclusive) → clientOccurredAt (kept);
  • stale past (client < received - maxSkew) → received - maxSkew.

Implementation

DateTime clampOccurredAt({
  required DateTime clientOccurredAt,
  required DateTime receivedAt,
  Duration maxSkew = kMaxEventSkew,
}) {
  if (clientOccurredAt.isAfter(receivedAt)) return receivedAt;
  final floor = receivedAt.subtract(maxSkew);
  if (clientOccurredAt.isBefore(floor)) return floor;
  return clientOccurredAt;
}