class

Matter::MDNS::Server

Inherits Reference < Object

mDNS Server for responding to queries and broadcasting announcements

RFC 6762: Multicast DNS

  • Responds to queries for registered services
  • Broadcasts unsolicited announcements
  • Implements response delays (20-120ms) to avoid collisions

Constants

Log = ::Log.for("matter.mdns.server")
RESPONSE_DELAY_MAX = 120.milliseconds
RESPONSE_DELAY_MIN = 20.milliseconds

Response delay range per RFC 6762 §6

Constructors

new(socket : MulticastSocket)
Source
new(family : Socket::Family = Socket::Family::INET)

Convenience constructor that creates its own socket

Source

Instance methods

announce

Broadcast unsolicited announcement for all registered generators

RFC 6762 §8.3: Announcing records

Source
close

Close the server and cleanup

Source
register(generator : RecordGenerator) : Nil

Register a record generator

@param generator The record generator to register

Source
running?

Check if server is running

Source
send_goodbye

Send goodbye packets (TTL=0) for all registered generators

RFC 6762 §10.1: Goodbye packets indicate records are being removed

Source
socket
Source
socket=(socket : MulticastSocket)
Source
start

Start the server (begins listening for queries)

Source
stop

Stop the server

Source
unregister(generator : RecordGenerator) : Nil

Unregister a record generator

@param generator The record generator to unregister

Source