pub struct ReplySurbs {
pub minimum_reply_surb_storage_threshold: usize,
pub maximum_reply_surb_storage_threshold: usize,
pub minimum_reply_surb_threshold_buffer: usize,
pub minimum_reply_surb_request_size: u32,
pub maximum_reply_surb_request_size: u32,
pub maximum_allowed_reply_surb_request_size: u32,
pub maximum_reply_surb_rerequest_waiting_period: Duration,
pub maximum_reply_surb_drop_waiting_period: Duration,
pub maximum_reply_surbs_rerequests: usize,
pub maximum_reply_key_age: Duration,
pub surb_mix_hops: Option<u8>,
}Fields§
§minimum_reply_surb_storage_threshold: usizeDefines the minimum number of reply surbs the client wants to keep in its storage at all times. It can only allow to go below that value if its to request additional reply surbs.
maximum_reply_surb_storage_threshold: usizeDefines the maximum number of reply surbs the client wants to keep in its storage at any times.
minimum_reply_surb_threshold_buffer: usizeDefines the soft threshold ontop of the minimum reply surb storage threshold for when the client should proactively request additional reply surbs.
minimum_reply_surb_request_size: u32Defines the minimum number of reply surbs the client would request.
maximum_reply_surb_request_size: u32Defines the maximum number of reply surbs the client would request.
maximum_allowed_reply_surb_request_size: u32Defines the maximum number of reply surbs a remote party is allowed to request from this client at once.
maximum_reply_surb_rerequest_waiting_period: DurationDefines maximum amount of time the client is going to wait for reply surbs before explicitly asking for more even though in theory they wouldn’t need to.
maximum_reply_surb_drop_waiting_period: DurationDefines maximum amount of time the client is going to wait for reply surbs before deciding it’s never going to get them and would drop all pending messages
maximum_reply_surbs_rerequests: usizeDefines maximum number of times the client is going to re-request reply surbs for clearing pending messages before giving up after making no progress.
maximum_reply_key_age: DurationDefines maximum amount of time given reply key is going to be valid for. This is going to be superseded by key rotation once implemented.
surb_mix_hops: Option<u8>Specifies the number of mixnet hops the packet should go through. If not specified, then the default value is used.
Trait Implementations§
Source§impl Clone for ReplySurbs
impl Clone for ReplySurbs
Source§fn clone(&self) -> ReplySurbs
fn clone(&self) -> ReplySurbs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReplySurbs
impl Debug for ReplySurbs
Source§impl Default for ReplySurbs
impl Default for ReplySurbs
Source§fn default() -> ReplySurbs
fn default() -> ReplySurbs
Source§impl<'de> Deserialize<'de> for ReplySurbswhere
ReplySurbs: Default,
impl<'de> Deserialize<'de> for ReplySurbswhere
ReplySurbs: Default,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReplySurbs, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReplySurbs, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ReplySurbs
impl PartialEq for ReplySurbs
Source§impl Serialize for ReplySurbs
impl Serialize for ReplySurbs
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for ReplySurbs
impl StructuralPartialEq for ReplySurbs
Auto Trait Implementations§
impl Freeze for ReplySurbs
impl RefUnwindSafe for ReplySurbs
impl Send for ReplySurbs
impl Sync for ReplySurbs
impl Unpin for ReplySurbs
impl UnwindSafe for ReplySurbs
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Deprecatable for T
impl<T> Deprecatable for T
fn deprecate(self) -> Deprecated<Self>where
Self: Sized,
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>
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>
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> OptionalSet for T
impl<T> OptionalSet for T
Source§fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
Some), the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_validated_optional<F, T, V, E>(
self,
f: F,
value: Option<T>,
validate: V,
) -> Result<Self, E>
fn with_validated_optional<F, T, V, E>( self, f: F, value: Option<T>, validate: V, ) -> Result<Self, E>
Some) it is validated and then the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the FromStr implementation and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.Source§fn with_optional_custom_env<F, T, G>(
self,
f: F,
val: Option<T>,
env_var: &str,
parser: G,
) -> Self
fn with_optional_custom_env<F, T, G>( self, f: F, val: Option<T>, env_var: &str, parser: G, ) -> Self
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the provided parser and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.