Types: implement collections, caches, and token bucket #31
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 CacheDictionary, DoubleDictionary, MultiValueDictionary, ExpiringCache, TokenBucket, and remaining small Types utilities.
Deliverables
Validation
Prerequisite
The full API shim and semantic test-suite gates are complete.
Project constraints
Implemented and pushed in commit
ae0b796(Implement Types collections and token bucket).Implementation:
LibreMetaverse.Typesgenerated shells with native Rust forCacheDictionary, its enumerator, the empty/LRU/MRU strategies,DoubleDictionary,MultiValueDictionary,ExpiringCache, andTokenBucket.std::time::Instant; no CLR or platform-specific API is used.Mutex,RwLock, and atomics.LibreMetaverse.Typesnow reports 45/45 native types and 942/942 native members with no generated Types shims.Focused verification:
cargo test -p libremetaverse-types --offline: 45 passed, 0 failed, including 6 collection/cache/bucket tests.types_utilitiesconfirms all 6 milestone-owned pre-created parity cases pass. Its 11 standardized failures belong to separateLibreMetaversemain-assembly helpers and were intentionally left untouched.Repository gates:
Final review found no remaining failure-only body or generated shim in
libremetaverse-types; the implementation satisfies every issue deliverable and the milestone 04 Types surface is complete.