anchor.diff:          _resolver.addPendingRequest(type, name, timeout);
   
       // Send the request on all interfaces.
  -    final List<int> packet = encodeMDnsQuery(name, type: type);
  +    final List<int> packet = encodeMDnsQuery(
  +      name,
  +      type: type,
  +      multicast: multicast,
  +    );
       for (RawDatagramSocket socket in _sockets) {
         socket.send(packet, _mDnsAddress, mDnsPort);
       }
  
positive.code:   }
  
    /// Lookup a [ResourceRecord], potentially from cache.
    Stream<ResourceRecord> lookup(int type, String name,
        {Duration timeout = const Duration(seconds: 5)}) {
      if (!_started) {
        throw StateError('mDNS client is not started.');
      }
  
negative.code: /// [MDnsClient.stop] must be called when done to clean up resources.
  ///
  /// This client only support "One-Shot Multicast DNS Queries" as described in
  /// section 5.1 of [RFC 6762](https://tools.ietf.org/html/rfc6762).
  class MDnsClient {
    bool _starting = false;
    bool _started = false;
  