pub trait GooseUserData:
Downcast
+ Send
+ Sync
+ 'static { }
Expand description
A marker trait representing user data of any type
(generic) that can
be added to any GooseUser
. The format of
the data stored in GooseUserData
must be defined in your load test, and by
default supports any type that supports
Send
and
Sync
.
Stored in the GooseUser
object in a private session_data
field. Per-user
session data is stored by invoking GooseUser::set_session_data
. The session
data can be accessed by invoking GooseUser::get_session_data
,
GooseUser::get_session_data_mut
, GooseUser::get_session_data_unchecked
,
or GooseUser::get_session_data_unchecked_mut
.
For an example, see
examples/simple_with_session
.
Implementations§
Source§impl dyn GooseUserData
impl dyn GooseUserData
Sourcepub fn is<__T: GooseUserData>(&self) -> bool
pub fn is<__T: GooseUserData>(&self) -> bool
Returns true if the trait object wraps an object of type __T
.
Sourcepub fn downcast<__T: GooseUserData>(
self: Box<Self>,
) -> Result<Box<__T>, Box<Self>>
pub fn downcast<__T: GooseUserData>( self: Box<Self>, ) -> Result<Box<__T>, Box<Self>>
Returns a boxed object from a boxed trait object if the underlying object is of type
__T
. Returns the original boxed trait if it isn’t.
Sourcepub fn downcast_rc<__T: GooseUserData>(
self: Rc<Self>,
) -> Result<Rc<__T>, Rc<Self>>
pub fn downcast_rc<__T: GooseUserData>( self: Rc<Self>, ) -> Result<Rc<__T>, Rc<Self>>
Returns an Rc
-ed object from an Rc
-ed trait object if the underlying object is of
type __T
. Returns the original Rc
-ed trait if it isn’t.
Sourcepub fn downcast_ref<__T: GooseUserData>(&self) -> Option<&__T>
pub fn downcast_ref<__T: GooseUserData>(&self) -> Option<&__T>
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
Sourcepub fn downcast_mut<__T: GooseUserData>(&mut self) -> Option<&mut __T>
pub fn downcast_mut<__T: GooseUserData>(&mut self) -> Option<&mut __T>
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn’t.