pub struct MockSourceConfig {
pub data_type: DataType,
pub interval_ms: u64,
}Expand description
Configuration for a MockSource instance.
Controls what type of data is generated and how frequently.
§Example
use drasi_source_mock::{MockSourceConfig, DataType};
let config = MockSourceConfig {
data_type: DataType::sensor_reading(10),
interval_ms: 1000,
};§Serialization
This type supports serde serialization for configuration files:
data_type:
type: sensor_reading
sensor_count: 10
interval_ms: 1000Fields§
§data_type: DataTypeThe type of synthetic data to generate.
Defaults to DataType::Generic if not specified.
interval_ms: u64Interval between generated events in milliseconds.
Must be greater than 0. Defaults to 5000 (5 seconds) if not specified.
Implementations§
Source§impl MockSourceConfig
impl MockSourceConfig
Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validates this configuration.
§Errors
Returns anyhow::Error if:
interval_msis 0 (would cause a spin loop with no delay between events)data_typeisSensorReadingwithsensor_countof 0 (must have at least one sensor)
§Example
use drasi_source_mock::{MockSourceConfig, DataType};
let valid_config = MockSourceConfig {
data_type: DataType::Counter,
interval_ms: 1000,
};
assert!(valid_config.validate().is_ok());
let invalid_config = MockSourceConfig {
data_type: DataType::Counter,
interval_ms: 0, // Invalid!
};
assert!(invalid_config.validate().is_err());Trait Implementations§
Source§impl Clone for MockSourceConfig
impl Clone for MockSourceConfig
Source§fn clone(&self) -> MockSourceConfig
fn clone(&self) -> MockSourceConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MockSourceConfig
impl Debug for MockSourceConfig
Source§impl Default for MockSourceConfig
impl Default for MockSourceConfig
Source§impl<'de> Deserialize<'de> for MockSourceConfig
impl<'de> Deserialize<'de> for MockSourceConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for MockSourceConfig
impl PartialEq for MockSourceConfig
Source§impl Serialize for MockSourceConfig
impl Serialize for MockSourceConfig
impl StructuralPartialEq for MockSourceConfig
Auto Trait Implementations§
impl Freeze for MockSourceConfig
impl RefUnwindSafe for MockSourceConfig
impl Send for MockSourceConfig
impl Sync for MockSourceConfig
impl Unpin for MockSourceConfig
impl UnsafeUnpin for MockSourceConfig
impl UnwindSafe for MockSourceConfig
Blanket Implementations§
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