class Matter::MDNS::Advertiser

Overview

Advertiser manages the lifecycle of mDNS advertisements

Handles:

RFC 6762 ยง8.3: Announcing records

Defined in:

matter/mdns/advertiser.cr

Constant Summary

INITIAL_INTERVAL = 1.seconds

Broadcasting schedule (exponential backoff with jitter)

JITTER_PERCENT = 0.25
Log = ::Log.for("matter.mdns.advertiser")
MAX_BROADCAST_TIME = 15.minutes
MAX_INTERVAL = 90.seconds

Constructors

Instance Method Summary

Constructor Detail

def self.new(server : Server) #

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

Convenience constructor that creates server and socket


[View source]

Instance Method Detail

def advertising? : Bool #

Check if currently advertising


[View source]
def close : Nil #

Close the advertiser and cleanup


[View source]
def server : Server #

[View source]
def server=(server : Server) #

[View source]
def start_advertising(advertisement : RecordGenerator) : Nil #

Start advertising a service

@param advertisement The advertisement to broadcast


[View source]
def stop_advertising : Nil #

Stop advertising and send goodbye packets


[View source]