cancel method

Future<void> cancel()

Implementation

Future<void> cancel() async {
  if (_terminal) return;
  final lease = _owner.lease('BatchStream');
  try {
    final response = await _runtime._client.invoke('batchStreamCancel', {
      'stream': lease.handle.toString(),
    });
    if (response['state'] != 'cancelled') {
      throw FormatException(
        'Invalid native cancellation state: ${response['state']}',
      );
    }
    _terminal = true;
  } finally {
    lease.end();
  }
}