Expand description
The read operations every front end shares, over one client and one set of request limits.
Reader is the reading strategy for one device: each request waits
for its turn at the device’s gate and the global rate cap
(RequestLimits), a property list goes by ReadPropertyMultiple with a
ReadProperty fallback, and the Object_List falls back to element-by-element
reads. The TUI’s browser, watch list and write previews use it directly,
with their own stop flags.
Engine is the facade the MCP server builds on: it owns the client,
the limits and the per-device memory of RPM refusals, and offers the
read operations as plain async calls on a device instance. A device is
looked up in the client’s discovery table, so routed devices work as
the *_from_device client calls route them. Cancelling a call means
dropping its future: a turn’s wait is cancel-safe, and a request
already sent is abandoned to the client’s transaction state machine.
Structs§
- Device
Summary - A device’s
DEVICE_PROPERTIESas read. - Engine
- The read operations over one client, shared by every caller.
- List
Read - How an Object_List read went.
- Property
Read - One object’s properties as read.
- Reader
- Reads one device, one request at a time, each with its turn at the device’s gate and the global rate cap.
Enums§
- Halt
- Why a read stopped.
- Naming
- How a best-effort naming read ended: it never fails the read it names, but a request it lost to a timeout is still a timeout (#2131).
- ReadVia
- How a property list was read.
- RpmFailure
- What an RPM failure says about trying ReadProperty instead.
- Wanted
- What
Reader::propertiesreads. - WhoIs
Scope - Where a Who-Is goes.
Constants§
- DEVICE_
PROPERTIES - The Device properties a device summary reads (Clause 12.11): who made it, what it runs, and what it can do. The TUI’s device card shows them.
- MAX_
OBJECTS - Elements a device’s Object_List may claim before the browser stops reading it; a device holds far fewer.
Functions§
- network_
of - The network
deviceis on, for limits that pace networks: its routed network, or 0 for the local one.Nonewhen the limits don’t pace networks, so the lookup is skipped, or the device isn’t known. - rpm_
failure - Classify an RPM failure.
- timed_
out - True when
errorsays the request timed out: the client’s own timeout, or the transaction state machine giving up on its retries. A transport failure is unreachable but not a timeout. - unreachable
- True when
errorsays the device, or the way to it, isn’t answering: a timeout or a transport failure. Reading on would only time out again.