Struct puffin::agent::AgentDescriptor
source · pub struct AgentDescriptor {
pub name: AgentName,
pub tls_version: TLSVersion,
pub typ: AgentType,
pub try_reuse: bool,
pub client_authentication: bool,
pub server_authentication: bool,
}
Expand description
AgentDescriptors act like a blueprint to spawn Agent
s with a corresponding server or
client role and a specific TLs version. Essentially they are an Agent
without a stream.
The difference between an AgentDescriptor
and a PutDescriptor
is that values of
the AgentDescriptor
are required for seed traces to succeed. They are the same for every
invocation of the seed. Values in the PutDescriptor
are supposed to differ between
invocations.
Fields§
§name: AgentName
§tls_version: TLSVersion
§typ: AgentType
Whether the agent which holds this descriptor is a server.
try_reuse: bool
Whether we want to try to reuse a previous agent. This is needed for TLS session resumption as openssl agents rotate ticket keys if they are recreated.
client_authentication: bool
If agent is a server: Make client auth. a requirement. If agent is a client: Send a static certificate.
Default: false
server_authentication: bool
If agent is a server: No effect, servers always send certificates in TLS. If agent is a client: Make server auth. a requirement.
Default: true
Implementations§
source§impl AgentDescriptor
impl AgentDescriptor
pub fn new_reusable_server(name: AgentName, tls_version: TLSVersion) -> Self
pub fn new_reusable_client(name: AgentName, tls_version: TLSVersion) -> Self
pub fn new_server(name: AgentName, tls_version: TLSVersion) -> Self
pub fn new_client(name: AgentName, tls_version: TLSVersion) -> Self
Trait Implementations§
source§impl Clone for AgentDescriptor
impl Clone for AgentDescriptor
source§fn clone(&self) -> AgentDescriptor
fn clone(&self) -> AgentDescriptor
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AgentDescriptor
impl Debug for AgentDescriptor
source§impl Default for AgentDescriptor
impl Default for AgentDescriptor
source§impl<'de> Deserialize<'de> for AgentDescriptor
impl<'de> Deserialize<'de> for AgentDescriptor
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Hash for AgentDescriptor
impl Hash for AgentDescriptor
source§impl PartialEq<AgentDescriptor> for AgentDescriptor
impl PartialEq<AgentDescriptor> for AgentDescriptor
source§fn eq(&self, other: &AgentDescriptor) -> bool
fn eq(&self, other: &AgentDescriptor) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for AgentDescriptor
impl Serialize for AgentDescriptor
impl Eq for AgentDescriptor
impl StructuralEq for AgentDescriptor
impl StructuralPartialEq for AgentDescriptor
Auto Trait Implementations§
impl RefUnwindSafe for AgentDescriptor
impl Send for AgentDescriptor
impl Sync for AgentDescriptor
impl Unpin for AgentDescriptor
impl UnwindSafe for AgentDescriptor
Blanket Implementations§
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
TupleList
], of an [Prepend::prepend()
] call,
including the prepended entry.