pub struct WebSocketChaos { /* private fields */ }Expand description
WebSocket chaos handler
Implementations§
Source§impl WebSocketChaos
impl WebSocketChaos
Sourcepub fn new(config: ChaosConfig) -> Self
pub fn new(config: ChaosConfig) -> Self
Create new WebSocket chaos handler
Sourcepub async fn apply_connection(
&self,
path: &str,
client_ip: Option<&str>,
) -> Result<()>
pub async fn apply_connection( &self, path: &str, client_ip: Option<&str>, ) -> Result<()>
Apply chaos before WebSocket connection
Sourcepub async fn apply_message(
&self,
message_size: usize,
direction: &str,
) -> Result<()>
pub async fn apply_message( &self, message_size: usize, direction: &str, ) -> Result<()>
Apply chaos before sending/receiving a message
Sourcepub fn should_drop_connection(&self) -> bool
pub fn should_drop_connection(&self) -> bool
Check if should drop connection
Sourcepub fn should_corrupt_message(&self) -> bool
pub fn should_corrupt_message(&self) -> bool
Check if should corrupt message
Sourcepub fn get_close_code(&self) -> Option<u16>
pub fn get_close_code(&self) -> Option<u16>
Get WebSocket close code for fault injection
Sourcepub fn traffic_shaper(&self) -> &Arc<TrafficShaper>
pub fn traffic_shaper(&self) -> &Arc<TrafficShaper>
Get traffic shaper for connection management
Trait Implementations§
Source§impl Clone for WebSocketChaos
impl Clone for WebSocketChaos
Source§fn clone(&self) -> WebSocketChaos
fn clone(&self) -> WebSocketChaos
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 moreAuto Trait Implementations§
impl Freeze for WebSocketChaos
impl !RefUnwindSafe for WebSocketChaos
impl Send for WebSocketChaos
impl Sync for WebSocketChaos
impl Unpin for WebSocketChaos
impl !UnwindSafe for WebSocketChaos
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request