pub trait MetricPublisher {
// Required methods
fn try_publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send;
fn publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send;
// Provided methods
fn try_publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
fn try_publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
fn publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
fn publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
}Expand description
A trait for publishing metrics to the network.
MetricPublisher defines a set of methods for publishing single metrics
or batches of metrics. It provides “try_” variants that may fail immediately.
“try_publish” variants will use the “try_publish” variants from the srad_client::Client trait. Similarly, the “publish” variants will use the “publish” from the srad_client::Client trait.
Required Methods§
Sourcefn try_publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn try_publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Attempts to publish a batch of metrics without modifying their order.
Sourcefn publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Publish a batch of metrics without modifying their order.
Provided Methods§
Sourcefn try_publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn try_publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send
Attempts to publish a single metric.
Sourcefn try_publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn try_publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Attempts to publish a batch of metrics after sorting by timestamp.
Sourcefn publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send
Publish a single metric.
Sourcefn publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Publish a batch of metrics after sorting by timestamp.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.