pingora_openssl::ssl

Struct SslSessionRef

Source
pub struct SslSessionRef(/* private fields */);
Expand description

Reference to SslSession.

Implementations§

Source§

impl SslSessionRef

Source

pub fn id(&self) -> &[u8]

Returns the SSL session ID.

This corresponds to SSL_SESSION_get_id.

Source

pub fn master_key_len(&self) -> usize

Returns the length of the master key.

This corresponds to SSL_SESSION_get_master_key.

Source

pub fn master_key(&self, buf: &mut [u8]) -> usize

Copies the master key into the provided buffer.

Returns the number of bytes written, or the size of the master key if the buffer is empty.

This corresponds to SSL_SESSION_get_master_key.

Source

pub fn max_early_data(&self) -> u32

Gets the maximum amount of early data that can be sent on this session.

Requires OpenSSL 1.1.1 or LibreSSL 3.4.0 or newer.

This corresponds to SSL_SESSION_get_max_early_data.

Source

pub fn time(&self) -> i64

Returns the time at which the session was established, in seconds since the Unix epoch.

This corresponds to SSL_SESSION_get_time.

Source

pub fn timeout(&self) -> i64

Returns the sessions timeout, in seconds.

A session older than this time should not be used for session resumption.

This corresponds to SSL_SESSION_get_timeout.

Source

pub fn protocol_version(&self) -> SslVersion

Returns the session’s TLS protocol version.

Requires OpenSSL 1.1.0 or LibreSSL 2.7.0 or newer.

This corresponds to SSL_SESSION_get_protocol_version.

Source

pub fn to_der(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the session into a DER-encoded structure.

This corresponds to i2d_SSL_SESSION.

Trait Implementations§

Source§

impl AsRef<SslSessionRef> for SslSession

Source§

fn as_ref(&self) -> &SslSessionRef

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<SslSessionRef> for SslSession

Source§

fn borrow(&self) -> &SslSessionRef

Immutably borrows from an owned value. Read more
Source§

impl ForeignTypeRef for SslSessionRef

Source§

type CType = SSL_SESSION

The raw C type.
Source§

unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self

Constructs a shared instance of this type from its raw type.
Source§

unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self

Constructs a mutable reference of this type from its raw type.
Source§

fn as_ptr(&self) -> *mut Self::CType

Returns a raw pointer to the wrapped value.
Source§

impl ToOwned for SslSessionRef

Source§

type Owned = SslSession

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> SslSession

Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · Source§

fn clone_into(&self, target: &mut Self::Owned)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl Send for SslSessionRef

Source§

impl Sync for SslSessionRef

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.