1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Pluggable remote-upload backend for oracle traces.
//!
//! Defines [`OracleRemote`], the trait that storage backends
//! implement, and provides a concrete MinIO/S3 implementation
//! used for durable off-host persistence.
//!
//! # Examples
//!
//! ```ignore
//! let remote = MinioOracleRemote::from_bus_config(cfg)?;
//! let (key, url) = remote.upload_record(&record).await?;
//! ```
pub use MinioOracleRemote;
use OracleTraceRecord;
use Result;
use async_trait;
/// Backend-agnostic interface for uploading oracle trace
/// records to durable remote storage.
///
/// Implementations should be idempotent — re-uploading an
/// identical record must overwrite rather than duplicate.
///
/// # Examples
///
/// ```ignore
/// let (key, url) = remote.upload_record(&record).await?;
/// println!("stored at {url}");
/// ```
pub