Struct aws_smithy_http::property_bag::SharedPropertyBag
source · pub struct SharedPropertyBag(_);
Expand description
A wrapper of PropertyBag
that can be safely shared across threads and cheaply cloned.
To access properties, use either acquire
or acquire_mut
. This can be one line for
single property accesses, for example:
let my_string = properties.acquire().get::<String>();
For multiple accesses, the acquire result should be stored as a local since calling acquire repeatedly will be slower than calling it once:
let props = properties.acquire();
let my_string = props.get::<String>();
let my_vec = props.get::<Vec<String>>();
Use acquire_mut
to insert properties into the bag:
properties.acquire_mut().insert("example".to_string());
Implementations§
sourcepub fn acquire(&self) -> impl Deref<Target = PropertyBag> + '_
pub fn acquire(&self) -> impl Deref<Target = PropertyBag> + '_
Acquire an immutable reference to the property bag.
sourcepub fn acquire_mut(&self) -> impl DerefMut<Target = PropertyBag> + '_
pub fn acquire_mut(&self) -> impl DerefMut<Target = PropertyBag> + '_
Acquire a mutable reference to the property bag.
Trait Implementations§
source§fn clone(&self) -> SharedPropertyBag
fn clone(&self) -> SharedPropertyBag
Returns a copy 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§fn default() -> SharedPropertyBag
fn default() -> SharedPropertyBag
Returns the “default value” for a type. Read more
source§fn from(bag: PropertyBag) -> Self
fn from(bag: PropertyBag) -> Self
Converts to this type from the input type.