Expand description
woolink 🔗 - Global Symbol Table for Woo Ecosystem
跨包符号解析系统,提供:
- SoA 布局:符号属性分块存储,CPU 缓存友好
- 并发查询:RwLock
支持 1000+ AI Agent 线程 - 惰性反序列化:rkyv 零拷贝,mmap 直接映射
- O(1) 定义跳转:链式符号索引
- Lock-free 符号链接
§Quick Start
use woolink::{SymbolUniverse, Symbol, SymbolKind, SymbolId};
// Create universe
let universe = SymbolUniverse::new(100_000);
// Concurrent reads (1000+ threads supported)
let guard = universe.read();
let symbol = guard.get_symbol(SymbolId::new(42));
let (target, location) = guard.jump_to_definition(SymbolId::new(42)).unwrap();Re-exports§
pub use symbol::SymbolUniverse;pub use symbol::SymbolUniverseGuard;pub use symbol::UniverseSnapshot;pub use symbol::SymbolStorage;pub use symbol::SoAStorage;pub use symbol::ChainedIndex;pub use symbol::SymbolChain;pub use symbol::DefinitionLocation;pub use symbol::SymbolLinker;pub use symbol::LinkResolver;pub use symbol::LockFreeLink;pub use symbol::MmapIndex;pub use symbol::MemoryMappedStorage;pub use symbol::Symbol;pub use symbol::Package;pub use symbol::Import;pub use symbol::SymbolKind;pub use symbol::Visibility;pub use symbol::SymbolId;pub use symbol::PackageId;pub use symbol::UniverseStats;pub use symbol::SymbolError;pub use symbol::Result;
Modules§
- bridge
- Bridge module - Integration with woofind and wootype
- cli
- CLI module for woolink
- prelude
- Common imports for woolink users
- symbol
- Global Symbol Table for Cross-Package Resolution
Constants§
- ARCHIVE_
MAGIC - Magic number for archive files
- VERSION
- Version information