use std::sync::Arc;
use async_trait::async_trait;
use tokio::sync::Mutex;
use crate::config::Config;
use crate::instrumentation::instrumentation::Instrumentation;
pub struct DummyInstrumentation<TRI, TAI, CAI, C>
where
TRI: Send + Sync,
TAI: Send + Sync,
CAI: Send + Sync,
C: Config,
{
_marker: std::marker::PhantomData<(TRI, TAI, CAI, C)>,
}
#[async_trait]
impl<TRI, TAI, CAI, C> Instrumentation for DummyInstrumentation<TRI, TAI, CAI, C>
where
TRI: Send + Sync,
TAI: Send + Sync,
CAI: Send + Sync,
C: Config,
{
type Config = C;
type ConsumeAttemptIdentifier = CAI;
type TransformAttemptIdentifier = TAI;
type TransformRequestIdentifier = TRI;
async fn new(_config: Arc<Mutex<Self::Config>>) -> Result<Self, String>
where
Self: Sized,
{
Ok(DummyInstrumentation {
_marker: std::marker::PhantomData,
})
}
async fn instrumentation_loop(&mut self) -> Result<(), String> { Ok(()) }
fn request_added(&mut self, _request_id: Self::TransformRequestIdentifier) {}
fn request_completed(&mut self, _request_id: Self::TransformRequestIdentifier) {}
fn transform_attempt_started(&mut self, _request_id: Self::TransformAttemptIdentifier) {}
fn transform_attempt_completed(&mut self, _request_id: Self::TransformAttemptIdentifier) {}
fn transform_attempt_failed(&mut self, _request_id: Self::TransformAttemptIdentifier) {}
fn consume_attempt_started(&mut self, _request_id: Self::ConsumeAttemptIdentifier) {}
fn consume_attempt_completed(&mut self, _request_id: Self::ConsumeAttemptIdentifier) {}
fn consume_attempt_failed(&mut self, _request_id: Self::ConsumeAttemptIdentifier) {}
}