Skip to main content

CreateSession

Struct CreateSession 

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

Sends a CreateSessionRequest to the server, returning the session id of the created session. Internally, the session will store the authentication token which is used for requests subsequent to this call.

See OPC UA Part 4 - Services 5.6.2 for complete description of the service and error responses.

Note that in order to use the session you will need to store the auth token and use that in subsequent requests.

Note: Avoid calling this on sessions managed by the Session type. Session creation is handled automatically as part of connect/reconnect logic.

Implementations§

Source§

impl<'a> CreateSession<'a>

Source

pub fn diagnostics(self, bits: DiagnosticBits) -> Self

Set requested diagnostic bits.

Source

pub fn timeout(self, timeout: Duration) -> Self

Set the timeout for this request. Defaults to session timeout.

Source

pub fn audit_entry_id(self, entry: impl Into<UAString>) -> Self

Set the audit entry ID for the request.

Source

pub fn header(&self) -> &RequestHeader

Get the request header.

Source§

impl<'a> CreateSession<'a>

Source

pub fn new_manual( certificate_store: &'a RwLock<CertificateStore>, endpoint: &'a EndpointDescription, session_id: u32, timeout: Duration, auth_token: NodeId, request_handle: IntegerId, ) -> Self

Create a new CreateSession request with the given data.

Source

pub fn client_description(self, desc: impl Into<ApplicationDescription>) -> Self

Set the client description.

Source

pub fn server_uri(self, server_uri: impl Into<UAString>) -> Self

Set the server URI.

Source

pub fn endpoint_url(self, endpoint_url: impl Into<UAString>) -> Self

Set the target endpoint URL.

Source

pub fn session_name(self, session_name: impl Into<UAString>) -> Self

Set the session name.

Source

pub fn client_certificate(self, client_certificate: X509) -> Self

Set the client certificate.

Source

pub fn client_cert_from_store( self, certificate_store: &RwLock<CertificateStore>, ) -> Self

Load the client certificate from the certificate store.

Source

pub fn session_timeout(self, session_timeout: f64) -> Self

Set the timeout for the session.

Source

pub fn max_response_message_size(self, max_response_message_size: u32) -> Self

Set the requested maximum response message size.

Source

pub fn nonce_length(self, nonce_length: usize) -> Self

Set the length of the client nonce used to generate this request.

Trait Implementations§

Source§

impl<'a> Clone for CreateSession<'a>

Source§

fn clone(&self) -> CreateSession<'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 UARequest for CreateSession<'_>

Source§

type Out = CreateSessionResponse

Response message type.
Source§

async fn send<'a>( self, channel: &'a AsyncSecureChannel, ) -> Result<Self::Out, StatusCode>
where Self: 'a,

Send the message and wait for a response.

Auto Trait Implementations§

§

impl<'a> Freeze for CreateSession<'a>

§

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

§

impl<'a> Send for CreateSession<'a>

§

impl<'a> Sync for CreateSession<'a>

§

impl<'a> Unpin for CreateSession<'a>

§

impl<'a> UnsafeUnpin for CreateSession<'a>

§

impl<'a> !UnwindSafe for CreateSession<'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