Capabilities: implement event queue and caps-to-packet processing #55
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Implement seed-cap discovery, event queue polling/acknowledgment, message decoding, caps-to-packet translation, recovery, and shutdown.
Deliverables
Validation
Prerequisite
Wire codegen and the foundational implementation milestones are complete; the fixed API/test gates remain authoritative.
Project constraints
Implemented and pushed in
aa269f1.Native Rust implementation now covers seed-cap discovery, the complete reference capability request list, URI registration, bounded EventQueueGet polling, ack/done progression, ordered event delivery, transient recovery, terminal statuses, deterministic jitter, reconnect/start behavior, prompt cancellation, graceful shutdown, joined task ownership, typed CAPS dispatch, and caps-to-packet fallback. MessageUtils now decodes every named event in the C# reference switch with native LLSD codecs, including polymorphic search/upload/object-media variants, display names, physics, attachment resources, and bulk inventory. Unknown or malformed events remain safe and use packet fallback where a packet schema exists. Documentation and shim coverage were updated.
Verified in isolation:
The broad pre-created lib test run has 65 passing tests and 70 expected failures confined to unimplemented later-milestone appearance, archive, animesh, inventory/AIS, and world/estate domains; no #55 test failed.