pub struct MeasurementState {Show 13 fields
pub m_id: u32,
pub probing_workers: Vec<u32>,
pub participants: HashMap<u32, Participant>,
pub start_instructions: HashMap<u32, Start>,
pub is_finalizing: bool,
pub m_type: MeasurementType,
pub is_gated_broadcast: bool,
pub is_prefix_hitlist: bool,
pub nprobes: u32,
pub worker_stacks: HashMap<u32, VecDeque<Task>>,
pub trace_config: Option<TracerouteConfig>,
pub resolved_targets: HashSet<Address>,
pub live: Option<LiveState>,
}Expand description
All state associated with a single active measurement.
Fields§
§m_id: u3216-bit measurement ID (filtering replies) + 16-bit session ID (reply attribution).
probing_workers: Vec<u32>Worker IDs of connected Workers that are actively probing
participants: HashMap<u32, Participant>Participating workers (removed when a worker finishes; kept on disconnect for rejoin)
start_instructions: HashMap<u32, Start>Per-worker Start instructions (re-sent when a worker rejoins mid-measurement)
is_finalizing: boolWhether the current measurement is being finalized (no new tasks being sent)
m_type: MeasurementTypeThe measurement type (LACeS, catchment, latency, …)
is_gated_broadcast: boolWhether --responsive gates a broadcast of measurement probes.
is_prefix_hitlist: boolWhether the hitlist holds ranked candidates per prefix (ISI format)
nprobes: u32Number of times each measurement probe is sent (always >= 1)
worker_stacks: HashMap<u32, VecDeque<Task>>Per-worker stacks of follow-up tasks (discovery → measurement, traceroute hops)
trace_config: Option<TracerouteConfig>Traceroute configuration and session tracker (None for non-traceroute measurements)
resolved_targets: HashSet<Address>Resolved –responsive targets
live: Option<LiveState>Live feed state (None for hitlist-based measurements)
Implementations§
Source§impl MeasurementState
impl MeasurementState
Sourcepub fn active_workers(&self) -> usize
pub fn active_workers(&self) -> usize
Number of connected workers participating in a measurement. The measurement is complete when this reaches zero.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MeasurementState
impl RefUnwindSafe for MeasurementState
impl Send for MeasurementState
impl Sync for MeasurementState
impl Unpin for MeasurementState
impl UnsafeUnpin for MeasurementState
impl UnwindSafe for MeasurementState
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
§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>
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>,
Layered].