Crate guts_storage

Crate guts_storage 

Source
Expand description

Git object storage for Guts.

This crate provides content-addressed storage for git objects (blobs, trees, commits) and reference management.

§Features

  • memory - In-memory storage backend (default)
  • rocksdb-backend - RocksDB persistent storage backend
  • full - All features enabled

§Storage Backends

The crate supports multiple storage backends:

  • ObjectStore - In-memory storage (fast but volatile)
  • [RocksDbStorage] - Persistent storage using RocksDB (requires rocksdb-backend feature)
  • CachedStorage - LRU cache wrapper for any storage backend
  • HybridStorage - Hot/cold tiering with automatic migration

Structs§

CacheConfig
Configuration for the cache layer.
CacheMetrics
Cache metrics for monitoring.
CacheStats
Cache statistics.
CachedStorage
Cached storage wrapper.
CompressionStats
Compression statistics for monitoring.
GitObject
A git object (blob, tree, commit, or tag).
HybridConfig
Configuration for hybrid storage.
HybridStatsSnapshot
Snapshot of hybrid storage statistics.
HybridStorage
Hybrid storage combining hot in-memory and cold persistent storage.
ObjectId
A 20-byte SHA-1 object identifier.
ObjectPool
A pool of reusable objects.
ObjectStore
Content-addressed object store.
RefStore
Thread-safe reference store.
RepoStore
Global repository store.
Repository
A git repository with objects and references.
StorageStats
Storage statistics.

Enums§

CompressionLevel
Compression level configuration.
ObjectType
Git object types.
Reference
A git reference (branch, tag, or symbolic ref).
StorageError
Errors that can occur during storage operations.

Statics§

IO_BUFFER_POOL
Global buffer pool for network I/O.
PACK_BUFFER_POOL
Global buffer pool for pack file generation.

Traits§

ObjectStoreBackend
Trait for object storage backends.
StorageBackend
High-level storage backend trait with lifecycle management.

Type Aliases§

PooledBuffer
A pooled buffer specifically for byte vectors.
Result
Result type for storage operations.