pub struct RegisterNode {
pub name: String,
pub meta: NodeMeta,
pub addressing: Addressing,
pub access: AccessMode,
pub port: Option<String>,
pub predicates: PredicateRefs,
pub cache: RefCell<Option<(Vec<u8>, u64)>>,
}Expand description
<Register> node: raw byte-array access to a register block.
The base register type — an address, a byte count, and no interpretation of
the bytes. StringNode is this plus UTF-8/NUL decoding.
Fields§
§name: StringUnique feature name.
meta: NodeMetaShared metadata (visibility, description, tooltip, etc.).
addressing: AddressingRegister addressing metadata, including the block length.
access: AccessModeDeclared access rights.
port: Option<String><pPort> target; None or "Device" means the device port.
Any other port is parsed and listed but cannot be read — see GA-12.
predicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
cache: RefCell<Option<(Vec<u8>, u64)>>Cached payload alongside the generation it was read in.
Implementations§
Source§impl RegisterNode
impl RegisterNode
Sourcepub fn declared_len(&self) -> Option<u32>
pub fn declared_len(&self) -> Option<u32>
Declared length of the register block in bytes.
None for a selector-mapped block, whose length depends on the current
selector value and therefore needs a transport to resolve — use
NodeMap::register_address for that.
This exists so a consumer can report a register’s size without naming
Addressing, which is not re-exported (backlog API-02).