fuchsia.net.mdns

PROTOCOLS

Resolver

Defined in fuchsia.net.mdns/mdns.fidl

Discoverable protocol for resolving host names to IP addresses.

ResolveHostName

Gets the addresses for the specified host. timeout specifies how long the service should wait before giving up when waiting for a response to a resolution query. In typical use, a timeout of two or three seconds is recommended.

A successful resolution may return one or both addresses. An unsuccessful resolution is indicated when both addresses are null.

Request

NameType
host string[255]
timeout int64

Response

NameType
v4_address fuchsia.net/Ipv4Address?
v6_address fuchsia.net/Ipv6Address?

Subscriber

Defined in fuchsia.net.mdns/mdns.fidl

Discoverable protocol for finding service instances.

SubscribeToService

Subscribes to a service. The subscription lasts until subscriber is unbound.

Request

NameType
service string[22]
subscriber ServiceSubscriber

Publisher

Defined in fuchsia.net.mdns/mdns.fidl

Discoverable protocol for publishing service instances.

PublishServiceInstance

Publishes a service instance. publication_responder is consulted via its OnPublication method for initial announcements and to answer queries. The service is published until the publication_responder channel closes. In addition to announcements and queries for the service type, all queries for subtypes are answered subject to filtering through the responder. perform_probe indicates whether a probe for a conflicting instance should be performed before publishing the instance. This value should be true unless the instance name is known to be unique.

Request

NameType
service string[22]
instance string[63]
perform_probe bool
publication_responder PublicationResponder

Response

NameType
result Publisher_PublishServiceInstance_Result

ServiceSubscriber

Defined in fuchsia.net.mdns/mdns.fidl

Client-implemented interface for subscribers. Method replies are used to throttle traffic. The service won't necessarily wait for a reply before calling another method.

OnInstanceDiscovered

Notifies the subscriber that a service instance has been discovered.

Request

NameType
instance ServiceInstance

Response

NameType

OnInstanceChanged

Notifies the subscriber that addresses or text for a known service instance have changed.

Request

NameType
instance ServiceInstance

Response

NameType

OnInstanceLost

Notifies the subscriber that a known service instance has been lost.

Request

NameType
service string[22]
instance string[63]

Response

NameType

PublicationResponder

Defined in fuchsia.net.mdns/mdns.fidl

Client-supplied publication responder interface.

OnPublication

Provides instance information for initial announcements and query responses relating to the service instance specified in Publisher.PublishServiceInstance. query indicates whether data is requested for an initial announcement (false) or in response to a query (true). If the publication relates to a subtype of the service, subtype contains the subtype, otherwise it is null. If publication is null, no announcement or response is transmitted. Strings in text are transmitted in the TXT record.

Request

NameType
query bool
subtype string[63]?

Response

NameType
publication Publication?

SetSubtypes

Sets the subtypes for the service instance. The specified subtypes will be announced subject to filtering through the responder. The initial subtype collection is empty.

Response

NameType
subtypes vector<string>

Reannounce

Initiates reannouncement of the service instance due to a change in the instance's port number or text strings. All announcements are filtered through OnPublication, which replies with the new port and text values.

Response

NameType

STRUCTS

Publisher_PublishServiceInstance_Response

generated

NameTypeDescriptionDefault

ServiceInstance

Defined in fuchsia.net.mdns/mdns.fidl

Describes a service instance.

NameTypeDescriptionDefault
service string[22] The name of the service. No default
instance string[63] The name of the service instance. No default
endpoints vector<fuchsia.net/Endpoint>[2] Endpoints for the service. If two endpoints are supplied, one will be a V4 and the other will be a V6. No default
text vector<string> Text strings describing the instance. No default
srv_priority uint16 The priority of the SRV resource record for this publication. See [RFC6763](https://tools.ietf.org/html/rfc6763) for details. No default
srv_weight uint16 The weight of the SRV resource record for this publication. See [RFC6763](https://tools.ietf.org/html/rfc6763) for details. No default

Publication

Defined in fuchsia.net.mdns/mdns.fidl

Describes an initial instance announcement or query response. In typical use, the default SRV priority, SRV weight and TTL values should be used. TTL values are rounded down to the nearest second. TTL values less than one second are not permitted and will result in the PublicationResponder channel being closed.

NameTypeDescriptionDefault
port uint16 The port at which the service instance is addressable. No default
text vector<string> Text strings describing the instance. No default
srv_priority uint16 The priority of the SRV resource record for this publication. See [RFC6763](https://tools.ietf.org/html/rfc6763) for details. DEFAULT_SRV_PRIORITY
srv_weight uint16 The weight of the SRV resource record for this publication. See [RFC6763](https://tools.ietf.org/html/rfc6763) for details. DEFAULT_SRV_WEIGHT
ptr_ttl int64 Time-to-live for PTR resource records. DEFAULT_PTR_TTL
srv_ttl int64 Time-to-live for SRV resource records. DEFAULT_SRV_TTL
txt_ttl int64 Time-to-live for TXT resource records. DEFAULT_TXT_TTL

ENUMS

Error

Type: int32

Defined in fuchsia.net.mdns/mdns.fidl

Error values for instance publishing.

NameValueDescription
INVALID_SERVICE_NAME 1
INVALID_INSTANCE_NAME 2
ALREADY_PUBLISHED_LOCALLY 3
ALREADY_PUBLISHED_ON_SUBNET 4

UNIONS

Publisher_PublishServiceInstance_Result

generated

NameTypeDescription
response Publisher_PublishServiceInstance_Response
err Error

CONSTANTS

NameValueTypeDescription
DEFAULT_SRV_PRIORITY 0 uint16
DEFAULT_SRV_WEIGHT 0 uint16
DEFAULT_PTR_TTL 4500000000000 int64
DEFAULT_SRV_TTL 120000000000 int64
DEFAULT_TXT_TTL 4500000000000 int64