start method

void start(
  1. Duration? interval
)

Implementation

void start(Duration? interval) {
  _drain();
  _sink._pumpOutgoing();
  if (interval != null) {
    _ping = Timer.periodic(interval, (_) {
      final count = _api.aw_ws_pong_count(id);
      if (_awaitingPong && count == _pongCount) {
        dispose();
        return;
      }
      _pongCount = count;
      _awaitingPong = true;
      if (_sendDirect(9, Uint8List(0)) < 0) {
        dispose();
      }
    });
  }
}