extend method

  1. @override
Future<EngineAcknowledged> extend(
  1. String topic
)
override

Implementation

@override
Future<EngineAcknowledged> extend(String topic) async {
  _isInitialized();
  await _isValidExtend(topic);
  final id = await _sendRequest<Map<String, dynamic>>(
    topic,
    JsonRpcMethod.WC_SESSION_EXTEND,
    {},
    (v) => v,
  );
  final completer = Completer<void>();
  final timer = completer.expirer();
  events.once(
    engineEvent(EngineEvent.SESSION_EXTEND, id),
    (data) {
      timer.cancel();
      if (data is ErrorResponse) {
        completer.completeError(data);
      } else {
        completer.complete();
      }
    },
  );
  await _setExpiry(topic, calcExpiry(ttl: SESSION_EXPIRY));

  return EngineAcknowledged(acknowledged: completer.future);
}