Struct garage_model::garage::Garage
source · pub struct Garage {Show 16 fields
pub config: Config,
pub bg_vars: BgVars,
pub replication_factor: ReplicationFactor,
pub db: Db,
pub system: Arc<System>,
pub block_manager: Arc<BlockManager>,
pub bucket_table: Arc<Table<BucketTable, TableFullReplication>>,
pub bucket_alias_table: Arc<Table<BucketAliasTable, TableFullReplication>>,
pub key_table: Arc<Table<KeyTable, TableFullReplication>>,
pub object_table: Arc<Table<ObjectTable, TableShardedReplication>>,
pub object_counter_table: Arc<IndexCounter<Object>>,
pub mpu_table: Arc<Table<MultipartUploadTable, TableShardedReplication>>,
pub mpu_counter_table: Arc<IndexCounter<MultipartUpload>>,
pub version_table: Arc<Table<VersionTable, TableShardedReplication>>,
pub block_ref_table: Arc<Table<BlockRefTable, TableShardedReplication>>,
pub lifecycle_persister: PersisterShared<LifecycleWorkerPersisted>,
/* private fields */
}
Expand description
An entire Garage full of data
Fields§
§config: Config
The parsed configuration Garage is running
bg_vars: BgVars
The set of background variables that can be viewed/modified at runtime
replication_factor: ReplicationFactor
The replication factor of this cluster
db: Db
The local database
system: Arc<System>
The membership manager
block_manager: Arc<BlockManager>
The block manager
bucket_table: Arc<Table<BucketTable, TableFullReplication>>
Table containing buckets
bucket_alias_table: Arc<Table<BucketAliasTable, TableFullReplication>>
Table containing bucket aliases
key_table: Arc<Table<KeyTable, TableFullReplication>>
Table containing api keys
object_table: Arc<Table<ObjectTable, TableShardedReplication>>
Table containing S3 objects
object_counter_table: Arc<IndexCounter<Object>>
Counting table containing object counters
mpu_table: Arc<Table<MultipartUploadTable, TableShardedReplication>>
Table containing S3 multipart uploads
mpu_counter_table: Arc<IndexCounter<MultipartUpload>>
Counting table containing multipart object counters
version_table: Arc<Table<VersionTable, TableShardedReplication>>
Table containing S3 object versions
block_ref_table: Arc<Table<BlockRefTable, TableShardedReplication>>
Table containing S3 block references (not blocks themselves)
lifecycle_persister: PersisterShared<LifecycleWorkerPersisted>
Persister for lifecycle worker info
Implementations§
source§impl Garage
impl Garage
pub fn spawn_workers( self: &Arc<Self>, bg: &BackgroundRunner ) -> Result<(), Error>
pub fn bucket_helper(&self) -> BucketHelper<'_>
pub fn key_helper(&self) -> KeyHelper<'_>
pub async fn locked_helper(&self) -> LockedHelper<'_>
Auto Trait Implementations§
impl !Freeze for Garage
impl !RefUnwindSafe for Garage
impl Send for Garage
impl Sync for Garage
impl Unpin for Garage
impl !UnwindSafe for Garage
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more