pub struct ActorLatencyMeasurer {
state: State,
randomised_backoff_time: Duration,
additional_clients: Vec<KanidmClient>,
group_index: u64,
personal_group_name: String,
groups_creation_time: HashMap<u64, Instant>,
unreplicated_groups_by_client: Vec<IDLBitRange>,
}Fields§
§state: State§randomised_backoff_time: Duration§additional_clients: Vec<KanidmClient>§group_index: u64§personal_group_name: String§groups_creation_time: HashMap<u64, Instant>§unreplicated_groups_by_client: Vec<IDLBitRange>Implementations§
Source§impl ActorLatencyMeasurer
impl ActorLatencyMeasurer
fn generate_new_group_name(&mut self)
fn commit_new_group_name(&mut self)
fn rollback_new_group_name(&mut self)
fn get_group_name(&self) -> String
async fn get_replicated_groups_by_client( &self, client_index: usize, ) -> Result<Vec<String>, EventRecord>
fn parse_replicated_groups_into_replication_event_records( &mut self, replicated_group_names: &[String], client_index: usize, groups_read_time: Instant, ) -> Vec<EventRecord>
fn create_replication_delay_event_record( &self, creation_time: Instant, read_time: Instant, ) -> EventRecord
fn next_transition(&mut self) -> Transition
fn next_state(&mut self, action: TransitionAction, result: TransitionResult)
Trait Implementations§
Source§impl ActorModel for ActorLatencyMeasurer
impl ActorModel for ActorLatencyMeasurer
fn transition<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
client: &'life1 KanidmClient,
person: &'life2 Person,
) -> Pin<Box<dyn Future<Output = Result<Vec<EventRecord>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl Freeze for ActorLatencyMeasurer
impl !RefUnwindSafe for ActorLatencyMeasurer
impl Send for ActorLatencyMeasurer
impl Sync for ActorLatencyMeasurer
impl Unpin for ActorLatencyMeasurer
impl UnsafeUnpin for ActorLatencyMeasurer
impl !UnwindSafe for ActorLatencyMeasurer
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].