mik1e80/dnssd/src/engine does not have a README file

    EngineError

    pub suberror EngineError {
    Closed
    InvalidServiceType
    ResourceLimit(String)
    UnknownSubscription
    }

    impl Show for EngineError

    EngineError::output

    #deprecated("`EngineError::output` is deprecated, use `Show::output` instead.")
    fn EngineError::output(self : EngineError, logger : &Logger) -> Unit

    EngineError::to_string

    #deprecated("`EngineError::to_string` is deprecated, use `Show::to_string` instead.")
    fn EngineError::to_string(self : EngineError) -> String

    Engine

    pub struct Engine {
    // private fields
    }

    Engine::advance

    fn Engine::advance(self : Engine, now : Int64) -> Unit raise

    Engine::browse

    fn Engine::browse(self : Engine, service_type :
    DnsName
    , scope : String, now : Int64) -> Int raise

    Engine::cancel

    fn Engine::cancel(self : Engine, id : Int, now : Int64) -> Unit raise

    Engine::close

    fn Engine::close(self : Engine) -> Unit

    Engine::dropped_events

    fn Engine::dropped_events(self : Engine) -> Int64

    Engine::ingest

    fn Engine::ingest(self : Engine, packet : Bytes, scope : String, now : Int64) -> Unit raise

    Engine::ingest_message

    fn Engine::ingest_message(self : Engine, message :
    Message
    , scope : String, now : Int64) -> Unit raise

    Engine::new

    fn Engine::new(cache_capacity? : Int, service_capacity? : Int, event_capacity? : Int, query_capacity? : Int, seed? : UInt) -> Engine raise

    Engine::next_deadline

    fn Engine::next_deadline(self : Engine) -> Int64?

    Engine::poll_event

    fn Engine::poll_event(self : Engine) -> Event?

    Engine::poll_outbound

    fn Engine::poll_outbound(self : Engine) -> Outbound?

    Bytes are encoded at polling time, with current remaining TTLs. Drain/send the whole TC continuation burst before changing engine input.

    Engine::resolve

    fn Engine::resolve(self : Engine, instance :
    DnsName
    , scope : String, now : Int64, timeout_ms? : Int) -> Int raise

    Resolve an already named instance without requiring a PTR response. The timeout covers initial resolution; after success it remains subscribed until cancel/close so updates keep the same event contract as browse.

    Engine::snapshots

    fn Engine::snapshots(self : Engine) -> Array[ServiceSnapshot]

    Engine::stats

    fn Engine::stats(self : Engine) -> EngineStats

    EngineStats

    pub struct EngineStats {
    cached_records : Int
    services : Int
    subscriptions : Int
    queued_events : Int
    query_jobs : Int
    queued_questions : Int
    queued_datagrams : Int
    dropped_events : Int64
    }

    Logical state counts; these are not byte counts or process RSS.

    Event

    pub(all) enum Event {
    Seen(ServiceSnapshot)
    Resolved(ServiceSnapshot)
    Updated(ServiceSnapshot, String)
    Unavailable(ServiceSnapshot, String)
    Removed(ServiceSnapshot, String)
    Diagnostic(String, String)
    ResolveTimedOut(Int)
    }

    Outbound

    pub struct Outbound {
    scope : String
    name :
    DnsName

    rr_type : Int
    bytes : Bytes
    }

    QueryJob

    type QueryJob

    QuestionSpec

    type QuestionSpec

    ServiceSnapshot

    pub struct ServiceSnapshot {
    scope : String
    service_type :
    DnsName

    instance :
    DnsName

    target :
    DnsName
    ?
    port : Int?
    srv_candidates : Array[SrvCandidate]
    txt :
    TxtRecord
    ?
    addresses : Array[Bytes]
    missing : Array[String]
    complete : Bool
    remaining_ttl_ms : Int64
    }

    SrvCandidate

    pub struct SrvCandidate {
    priority : Int
    weight : Int
    port : Int
    target :
    DnsName

    addresses : Array[Bytes]
    }

    One SRV alternative, in connection-attempt order. Addresses belong only to this target; an empty list means address resolution is still pending.

    Subscription

    type Subscription

    valid_service_type

    fn valid_service_type(name :
    DnsName
    ) -> Bool

    Accept a base local service type or an opaque subtype._sub.base name.