class Prober

Defined at line 34 of file ../../src/connectivity/network/mdns/service/agents/prober.h

Base class for |AddressProber| and |InstanceProber|.

Probing involves repeatedly sending a probe message. The first probe message

is sent after a random delta of 0 to 250ms. This prevents synchronized

probing in case multiple devices are powered on simultaneously. Two more

probe messages are sent at intervals of 250ms, and we'll wait up to 250ms

for a response.

A probe message consists of a question record asking for any type of

resource matching the resource name in question. We're looking for specific

records types, but the wildcard ANY type is used. The question is marked for

unicast response. The message also includes our proposed record(s) in the

authority section.

If we see a matching response before we're done with the probe sequence,

there's a conflict. If not, the probe has completed successfully.

Public Methods

void Prober (MdnsAgent::Owner * owner, DnsType type, Media media, IpVersions ip_versions, CompletionCallback callback)

Creates a |Prober|. |type| is the resource type for which we're probing.

Use |kA| for address types (A and AAAA).

Defined at line 16 of file ../../src/connectivity/network/mdns/service/agents/prober.cc

void ~Prober ()

Defined at line 26 of file ../../src/connectivity/network/mdns/service/agents/prober.cc

void Start (const DnsName & local_host_full_name)

MdnsAgent overrides.

Defined at line 28 of file ../../src/connectivity/network/mdns/service/agents/prober.cc

void ReceiveResource (const DnsResource & resource, MdnsResourceSection section, ReplyAddress sender_address)

Defined at line 41 of file ../../src/connectivity/network/mdns/service/agents/prober.cc

Protected Methods

const DnsName & ResourceName ()

Returns the name of the resource for which we're probing.

void SendProposedResources (MdnsResourceSection section)

Sends the proposed resources.

Media media ()

Defined at line 52 of file ../../src/connectivity/network/mdns/service/agents/prober.h

IpVersions ip_versions ()

Defined at line 54 of file ../../src/connectivity/network/mdns/service/agents/prober.h

const DnsName & local_host_full_name ()

Defined at line 56 of file ../../src/connectivity/network/mdns/service/agents/prober.h