close method

  1. @override
void close()
override

Closes the datagram socket.

Implementation

@override
void close() {
  // Make close() idempotent - can be called multiple times safely
  if (_closed) return;
  _closed = true;

  // Cancel the stream subscription if active
  _socketSubscription?.cancel();

  // Clear all message callbacks to prevent memory leaks
  _messageCallbacks.clear();

  // Close the underlying socket
  socket.close();
}