pub struct ParameterServer {
pub params: Arc<RwLock<Parameters>>,
/* private fields */
}
Expand description
Parameter server.
§Example
use safe_drive::{
context::Context,
parameter::{ParameterServer, Value, Parameter, Descriptor},
};
// Create a context and a node.
let ctx = Context::new().unwrap();
let node = ctx.create_node("param_server_ex", None, Default::default()).unwrap();
// Create a parameter server.
let param_server = node.create_parameter_server().unwrap();
{
// Set parameters.
let mut params = param_server.params.write(); // Write lock
// Statically typed parameter.
params.set_parameter(
"my_flag".to_string(), // parameter name
Value::Bool(false), // value
false, // read only?
Some("my flag's description".to_string()), // description
).unwrap();
// Dynamically typed parameter.
params.set_dynamically_typed_parameter(
"my_dynamic_type_flag".to_string(), // parameter name
Value::Bool(false), // value
false, // read only?
Some("my dynamic type flag's description".to_string()), // description
).unwrap();
// Add Directly from Parameter struct
let parameter_to_set = Parameter {
descriptor: Descriptor {
description: "my parameter description".to_string(), // parameter description
additional_constraints: "my parameter addutional_constraints".to_string(), // parameter additional constraints
read_only: false, // read only ?
dynamic_typing: false, // static or Dynamic
floating_point_range: None, // floating point range
integer_range: None, // integer point range
},
value: Value::Bool(false), // value
};
let _ = params.add_parameter(
("my parameter").to_string(), // name
parameter_to_set, // parameter
);
}
Fields§
§params: Arc<RwLock<Parameters>>
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ParameterServer
impl !RefUnwindSafe for ParameterServer
impl Send for ParameterServer
impl Sync for ParameterServer
impl Unpin for ParameterServer
impl !UnwindSafe for ParameterServer
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