pub struct EffectorSpec {Show 20 fields
pub effector_id: String,
pub name: String,
pub effector_type: i32,
pub category: i32,
pub effector_class: String,
pub max_range_m: f32,
pub min_range_m: f32,
pub rate_of_fire: f32,
pub safety_state: i32,
pub interlocks: Option<SafetyInterlocks>,
pub engagement_state: i32,
pub current_target: Option<TargetDesignation>,
pub firing_solution: Option<FiringSolution>,
pub required_authorization: i32,
pub current_authorization: Option<Authorization>,
pub roe_status: Option<RoeStatus>,
pub mount_actuator_id: String,
pub updated_at: Option<Timestamp>,
pub metadata_json: String,
pub capacity: Option<Capacity>,
}Expand description
Complete effector specification
Fields§
§effector_id: StringUnique effector identifier within the platform Format: lowercase alphanumeric with hyphens, e.g., “m240-coax”, “smoke-l”
name: StringHuman-readable name e.g., “M240 Coaxial Machine Gun”, “Left Smoke Dispenser”
effector_type: i32Effector type
category: i32Effector category for ROE
effector_class: StringCaliber/type for kinetic (e.g., “7.62x51mm NATO”) Wavelength for DEW (e.g., “1064nm”) Frequency for EW (e.g., “GPS L1”)
max_range_m: f32Maximum effective range (meters)
min_range_m: f32Minimum safe range (meters)
rate_of_fire: f32Rate of fire (rounds/min for kinetic, shots/min for DEW)
safety_state: i32Current safety state
interlocks: Option<SafetyInterlocks>Safety interlock status
engagement_state: i32Current engagement state
current_target: Option<TargetDesignation>Current target (if tracking/engaging)
firing_solution: Option<FiringSolution>Current firing solution (if computed)
Authorization level required
Current authorization (if any)
roe_status: Option<RoeStatus>Current ROE status
mount_actuator_id: StringMount/actuator reference (links to actuator.proto) e.g., “turret-main” for the turret actuator controlling this effector
updated_at: Option<Timestamp>Timestamp of last state update
metadata_json: StringAdditional metadata (JSON)
capacity: Option<Capacity>Ammunition/capacity (one of)
Implementations§
Source§impl EffectorSpec
impl EffectorSpec
Sourcepub fn effector_type(&self) -> EffectorType
pub fn effector_type(&self) -> EffectorType
Returns the enum value of effector_type, or the default if the field is set to an invalid enum value.
Sourcepub fn set_effector_type(&mut self, value: EffectorType)
pub fn set_effector_type(&mut self, value: EffectorType)
Sets effector_type to the provided enum value.
Sourcepub fn category(&self) -> EffectorCategory
pub fn category(&self) -> EffectorCategory
Returns the enum value of category, or the default if the field is set to an invalid enum value.
Sourcepub fn set_category(&mut self, value: EffectorCategory)
pub fn set_category(&mut self, value: EffectorCategory)
Sets category to the provided enum value.
Sourcepub fn safety_state(&self) -> SafetyState
pub fn safety_state(&self) -> SafetyState
Returns the enum value of safety_state, or the default if the field is set to an invalid enum value.
Sourcepub fn set_safety_state(&mut self, value: SafetyState)
pub fn set_safety_state(&mut self, value: SafetyState)
Sets safety_state to the provided enum value.
Sourcepub fn engagement_state(&self) -> EngagementState
pub fn engagement_state(&self) -> EngagementState
Returns the enum value of engagement_state, or the default if the field is set to an invalid enum value.
Sourcepub fn set_engagement_state(&mut self, value: EngagementState)
pub fn set_engagement_state(&mut self, value: EngagementState)
Sets engagement_state to the provided enum value.
Returns the enum value of required_authorization, or the default if the field is set to an invalid enum value.
Sets required_authorization to the provided enum value.
Trait Implementations§
Source§impl Clone for EffectorSpec
impl Clone for EffectorSpec
Source§fn clone(&self) -> EffectorSpec
fn clone(&self) -> EffectorSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EffectorSpec
impl Debug for EffectorSpec
Source§impl Default for EffectorSpec
impl Default for EffectorSpec
Source§impl<'de> Deserialize<'de> for EffectorSpec
impl<'de> Deserialize<'de> for EffectorSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Message for EffectorSpec
impl Message for EffectorSpec
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for EffectorSpec
impl PartialEq for EffectorSpec
Source§fn eq(&self, other: &EffectorSpec) -> bool
fn eq(&self, other: &EffectorSpec) -> bool
self and other values to be equal, and is used by ==.