How sayore/applied-quickergistics works
This fork adds an optional Rust-backed, read-only mirror for AE2 network item totals. The workflow is: mounted storages are synchronized when their versions change, Rust maintains aggregate totals and deltas, and AE2 uses the mirror for cached network queries; if native support is unavailable or disabled, AE2 retains its Java path. The README documents the native bridge and fallback behavior; sampled Java excerpts show storage-service caching and the mirror, while Rust internals are represented from the file tree rather than sampled source.
Main entry points: StorageService.java Storage service · RustStorageIndex.java Rust index adapter · index.rs Network index · lib.rs Index API
Components 17
AE2 integration
- Mounted storage
ae2-src/src/main/java/appeng/me/service/StorageService.java - Storage bus
ae2-src/src/main/java/appeng/parts/storagebus/StorageBusPart.java - Storage service
ae2-src/src/main/java/appeng/me/service/StorageService.java - Rust index adapter
ae2-src/src/main/java/appeng/me/storage/RustStorageIndex.java
Native bridge
- Native loader
ae2-src/src/main/java/appeng/storage/nativebridge - JNI bindings
ae2-src/rust/ae2store-jni/src/lib.rs
Rust index
- Index API
ae2-src/rust/ae2store/src/lib.rs - Cell tally
ae2-src/rust/ae2store/src/cell.rs - Network index
ae2-src/rust/ae2store/src/index.rs - Query postings
ae2-src/rust/ae2store/src/index/postings.rs - Index queries
ae2-src/rust/ae2store/src/index/query.rs - Change deltas
ae2-src/rust/ae2store/src/index/delta.rs
Network consumers
- ME terminals
ae2-src/src/client/java/appeng/client/gui/me/common/MEStorageScreen.java - Storage menu
ae2-src/src/main/java/appeng/menu/me/common/MEStorageMenu.java - Powered storage
ae2-src/src/main/java/appeng/api/storage/StorageHelper.java
Other components
- Player
- AE2 Java path
Connections 17
- Storage bus → Storage service: provides storage
- Storage service → Mounted storage: mounts inventories
- Storage service → Rust index adapter: syncs mounts
- Rust index adapter → Native loader: loads native
- Native loader → JNI bindings: loads library
- Rust index adapter → JNI bindings: calls JNI
- JNI bindings → Index API: dispatches calls
- Index API → Cell tally: updates tally
- Index API → Network index: updates index
- Network index → Query postings: maintains postings
- Network index → Index queries: answers queries
- Network index → Change deltas: records changes
- Rust index adapter → Storage service: supplies totals
- Storage service → AE2 Java path: falls back
- Player → ME terminals: views inventory
- ME terminals → Storage menu: sends actions
- Storage menu → Powered storage: powered operations