Session

Struct Session 

Source
pub struct Session<'a> { /* private fields */ }
Expand description

OpenVPN 3 Session

Implementations§

Source§

impl<'a> Session<'a>

Source

pub fn path(&'a self) -> &ObjectPath<'_>

Get a reference to the underlying proxy’s object path.

Source

pub async fn ready(&'a self) -> Result<()>

Source

pub async fn connect(&'a self) -> Result<()>

Start the connection process.

Source

pub async fn pause(&'a self, reason: &str) -> Result<()>

Pause an active connection.

Source

pub async fn resume(&'a self) -> Result<()>

Resume a paused connection.

Source

pub async fn restart(&'a self) -> Result<()>

Disconnect and reconnect.

Source

pub async fn disconnect(&'a self) -> Result<()>

Disconnect and remove the VPN session.

Source

pub async fn status(&'a self) -> Result<Status>

Get the last processed [StatusChange] signal.

Source

pub async fn statistics(&'a self) -> Result<Statistics>

Get tunnel statistics.

Source

pub async fn get_property<T>(&'a self, property_name: &str) -> Result<T>
where T: TryFrom<OwnedValue>, T::Error: Into<Error>,

Get a property value from the underlying D-Bus proxy.

Source

pub async fn user_input_queue_get_type_group( &'a self, ) -> Result<Vec<UserInputQueueTypeGroup>>

Source

pub async fn user_input_queue_check( &'a self, qtype: ClientAttentionType, qgroup: ClientAttentionGroup, ) -> Result<Vec<u32>>

Source

pub async fn user_input_queue_fetch( &'a self, qtype: ClientAttentionType, qgroup: ClientAttentionGroup, qid: u32, ) -> Result<UserInputSlot<'a>>

Fetch a UserInputSlot which represents a request for user input and which can be used to provide input to the backend.

§Arguments
  • qtype - Queue type of the user input slot.
  • qgroup - Queue group of the user input slot.
  • qid - Queue ID of the user input slot to retrieve.
§Returns

A UserInputSlot which provides information on what input to query for.

Source

pub async fn fetch_user_input_slots(&'a self) -> Result<Vec<UserInputSlot<'_>>>

Fetch all required user inputs.

§Returns

An array of UserInputSlot instances which represent single requests for input and can be used to provide input to the backend.

Source

pub async fn attention_required_stream( &self, ) -> Result<AttentionRequiredStream<'a>>

Get a AttentionRequiredStream for this VPN session.

Source

pub async fn status_change_stream(&self) -> Result<StatusChangeStream<'a>>

Get a StatusChangeStream for this VPN session.

Source

pub async fn log_stream(&self) -> Result<LogStream<'a>>

Get a LogStream for this VPN session.

This should be called after the backend process is ready

Trait Implementations§

Source§

impl<'a> Clone for Session<'a>

Source§

fn clone(&self) -> Session<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Session<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Session<'a>

§

impl<'a> !RefUnwindSafe for Session<'a>

§

impl<'a> Send for Session<'a>

§

impl<'a> Sync for Session<'a>

§

impl<'a> Unpin for Session<'a>

§

impl<'a> !UnwindSafe for Session<'a>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more