pub struct GrpcChaos { /* private fields */ }Expand description
gRPC chaos handler
Implementations§
Source§impl GrpcChaos
impl GrpcChaos
Sourcepub fn new(config: ChaosConfig) -> Self
pub fn new(config: ChaosConfig) -> Self
Create new gRPC chaos handler
Sourcepub async fn apply_pre_request(
&self,
service: &str,
method: &str,
client_ip: Option<&str>,
) -> Result<()>
pub async fn apply_pre_request( &self, service: &str, method: &str, client_ip: Option<&str>, ) -> Result<()>
Apply chaos before gRPC request processing
Sourcepub async fn apply_post_response(&self, message_size: usize) -> Result<()>
pub async fn apply_post_response(&self, message_size: usize) -> Result<()>
Apply chaos after gRPC response
Sourcepub fn get_grpc_status_code(&self) -> Option<i32>
pub fn get_grpc_status_code(&self) -> Option<i32>
Get gRPC status code for fault injection
Sourcepub fn should_interrupt_stream(&self) -> bool
pub fn should_interrupt_stream(&self) -> bool
Check if should interrupt stream
Sourcepub fn traffic_shaper(&self) -> &Arc<TrafficShaper>
pub fn traffic_shaper(&self) -> &Arc<TrafficShaper>
Get traffic shaper for connection management
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GrpcChaos
impl !RefUnwindSafe for GrpcChaos
impl Send for GrpcChaos
impl Sync for GrpcChaos
impl Unpin for GrpcChaos
impl !UnwindSafe for GrpcChaos
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