1#![doc = include_str!("../README.md")]
2
3pub mod conformance;
4
5#[allow(missing_docs, clippy::all, clippy::pedantic, clippy::too_many_lines)]
7pub mod wire {
8 include!("generated/acyclic.objects.v1.rs");
9}
10
11pub const FILE_DESCRIPTOR_SET: &[u8] = include_bytes!("generated/acyclic-objects-v1.bin");
13
14pub mod limits {
16 pub const KEY_BYTES: usize = 1_024;
18 pub const USER_METADATA_BYTES: usize = 2 * 1_024;
20 pub const LIST_PAGE_ENTRIES: u32 = 1_000;
22 pub const OBJECT_BYTES: u64 = 5 * 1_024 * 1_024 * 1_024 * 1_024;
24 pub const SINGLE_PUT_BYTES: u64 = 5 * 1_024 * 1_024 * 1_024;
26 pub const MULTIPART_PARTS: u32 = 10_000;
28 pub const MIN_MULTIPART_PART_BYTES: u64 = 5 * 1_024 * 1_024;
30 pub const MAX_MULTIPART_PART_BYTES: u64 = 5 * 1_024 * 1_024 * 1_024;
32 pub const IDEMPOTENCY_RETENTION_SECONDS: u64 = 7 * 24 * 60 * 60;
34 pub const LISTING_VIEW_SECONDS: u64 = 24 * 60 * 60;
36 pub const RECLAMATION_GRACE_SECONDS: u64 = 7 * 24 * 60 * 60;
38}
39
40#[cfg(feature = "grpc")]
41mod grpc;
42#[cfg(feature = "grpc")]
43pub use grpc::*;
44
45#[cfg(feature = "local")]
46mod local;
47#[cfg(feature = "local")]
48pub use local::*;
49
50mod provider;
51pub use provider::*;