class Matter::MDNS::Server

Overview

mDNS Server for responding to queries and broadcasting announcements

RFC 6762: Multicast DNS

Defined in:

matter/mdns/server.cr

Constant Summary

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

Response delay range per RFC 6762 §6

Constructors

Instance Method Summary

Constructor Detail

def self.new(socket : MulticastSocket) #

[View source]
def self.new(family : Socket::Family = Socket::Family::INET) #

Convenience constructor that creates its own socket


[View source]

Instance Method Detail

def announce : Nil #

Broadcast unsolicited announcement for all registered generators

RFC 6762 §8.3: Announcing records


[View source]
def close : Nil #

Close the server and cleanup


[View source]
def register(generator : RecordGenerator) : Nil #

Register a record generator

@param generator The record generator to register


[View source]
def running? : Bool #

Check if server is running


[View source]
def send_goodbye : Nil #

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

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


[View source]
def socket : MulticastSocket #

[View source]
def socket=(socket : MulticastSocket) #

[View source]
def start : Nil #

Start the server (begins listening for queries)


[View source]
def stop : Nil #

Stop the server


[View source]
def unregister(generator : RecordGenerator) : Nil #

Unregister a record generator

@param generator The record generator to unregister


[View source]