Skip to main content

CreateSubscription

Struct CreateSubscription 

Source
pub struct CreateSubscription { /* private fields */ }
Expand description

Create a subscription by sending a CreateSubscriptionRequest to the server.

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

Implementations§

Source§

impl CreateSubscription

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 CreateSubscription

Source

pub fn new(session: &Session) -> Self

Construct a new call to the CreateSubscription service.

Source

pub fn new_manual( session_id: u32, timeout: Duration, auth_token: NodeId, request_handle: IntegerId, ) -> Self

Construct a new call to the CreateSubscription service, setting header parameters manually.

Source

pub fn publishing_interval(self, interval: Duration) -> Self

The requested publishing interval defines the cyclic rate that the Subscription is being requested to return Notifications to the Client. This interval is expressed in milliseconds. This interval is represented by the publishing timer in the Subscription state table. The negotiated value for this parameter returned in the response is used as the default sampling interval for MonitoredItems assigned to this Subscription. If the requested value is 0 or negative, the server shall revise with the fastest supported publishing interval in milliseconds.

Source

pub fn max_lifetime_count(self, lifetime_count: u32) -> Self

Requested lifetime count. The lifetime count shall be a minimum of three times the keep keep-alive count. When the publishing timer has expired this number of times without a Publish request being available to send a NotificationMessage, then the Subscription shall be deleted by the Server.

Source

pub fn max_keep_alive_count(self, keep_alive_count: u32) -> Self

Requested maximum keep-alive count. When the publishing timer has expired this number of times without requiring any NotificationMessage to be sent, the Subscription sends a keep-alive Message to the Client. The negotiated value for this parameter is returned in the response. If the requested value is 0, the server shall revise with the smallest supported keep-alive count.

Source

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

The maximum number of notifications that the Client wishes to receive in a single Publish response. A value of zero indicates that there is no limit. The number of notifications per Publish is the sum of monitoredItems in the DataChangeNotification and events in the EventNotificationList.

Source

pub fn priority(self, priority: u8) -> Self

Indicates the relative priority of the Subscription. When more than one Subscription needs to send Notifications, the Server should de-queue a Publish request to the Subscription with the highest priority number. For Subscriptions with equal priority the Server should de-queue Publish requests in a round-robin fashion.

Source

pub fn publishing_enabled(self, publishing_enabled: bool) -> Self

A boolean parameter with the following values - true publishing is enabled for the Subscription, false, publishing is disabled for the Subscription. The value of this parameter does not affect the value of the monitoring mode Attribute of MonitoredItems.

Trait Implementations§

Source§

impl UARequest for CreateSubscription

Source§

type Out = CreateSubscriptionResponse

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§

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> 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, 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