//! Capabilities (permissions) of a connection. use super::*; use std::time::Duration; /* pub mod fail; pub use fail::Failures; /// How lenient to be with a certain operation #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, PartialOrd, Ord, Copy)] pub enum Leniency { /// Ignore **all** malformed/missed messages. Ignore, /// Allow `n` failures before disconnecting the socket. Specific(Failures), /// Allow Normal, /// Immediately disconnect the socket on **any** malformed/missed message. None, } */ /// A capability (permission) for a raw socket's data transmission. #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum RawSockCapability { /// Process messages that aren't signed. AllowUnsignedMessages, /// Do not disconnect the socket when a malformed message is received, just ignore the message. SoftFail, /// Throttle the number of messages to process RateLimit { tx: usize, rx: usize }, /// The request response timeout for messages with an expected response. RecvRespTimeout { tx: Duration, rx: Duration }, /// Max number of bytes to read for a single message. //TODO: Implement this for message MaxMessageSize(usize), }