anchor.diff:      var e =
           createError(error, message, isUdp || isTcp ? address : null, localPort);
       // Invoke the error handler if any.
  -    if (eventHandlers[errorEvent] != null) {
  -      eventHandlers[errorEvent](e, st);
  +    var handler = errorEventHandler;
  +    if (handler != null) {
  +      handler(e, st);
       }
       // For all errors we close the socket
       close();
  
positive.code:       if (isClosing) return;
        if (!sendWriteEvents) return;
        sendWriteEvents = false;
        var handler = eventHandlers[writeEvent];
        if (handler == null) return;
        handler();
      }
  
negative.code:   Completer closeCompleter = new Completer.sync();
  
    // Handlers and receive port for socket events from the event handler.
    void Function()? readEventHandler;
    void Function()? writeEventHandler;
    void Function(Object e, StackTrace? st)? errorEventHandler;
    void Function()? closedEventHandler;
    void Function()? destroyedEventHandler;
  
    RawReceivePort? eventPort;
    bool flagsSent = false;
  
  