close method

  1. @override
void close({
  1. bool flush = false,
})
override

Implementation

@override
void close({bool flush = false}) {
  if (flush) {
    send({
      '__peerData': {
        'type': 'close',
      },
    });
    return;
  }

  _negotiator?.cleanup();
  _negotiator = null;

  if (provider != null) {
    provider?.removeConnection(this);
    provider = null;
  }

  if (dataChannel != null) {
    dataChannel!.onDataChannelState = null;
    dataChannel!.onMessage = null;
    dataChannel = null;
  }

  if (!open) return;

  open = false;

  emit('close');
}