closeExpired method

  1. @override
Future closeExpired(
  1. String? correlationId,
  2. DateTime request_time
)
override

Implementation

@override
Future closeExpired(String? correlationId, DateTime request_time) async {
  var time = request_time.millisecondsSinceEpoch;
  var now = DateTime.now();
  var count = 0;

  for (var item in items) {
    if (item.active != null &&
        item.active &&
        item.request_time!.millisecondsSinceEpoch < time) {
      item.active = false;
      item.close_time = now;
      item.request_time = now;
      item.data = null;
      item.user = null;

      count++;
    }
  }

  if (count > 0) {
    logger.debug(correlationId, 'Closed %d expired sessions', [count]);

    await save(correlationId);
  } else {
    return null;
  }
}