pub struct NotificationMessage {
pub sequence_number: Counter,
pub publish_time: UtcTime,
pub notification_data: Option<Vec<ExtensionObject>>,
}
Expand description
https://reference.opcfoundation.org/v105/Core/docs/Part4/7.26
Fields§
§sequence_number: Counter
§publish_time: UtcTime
§notification_data: Option<Vec<ExtensionObject>>
Implementations§
Source§impl NotificationMessage
impl NotificationMessage
Sourcepub fn data_change(
sequence_number: u32,
publish_time: DateTime,
data_change_notifications: Vec<MonitoredItemNotification>,
event_notifications: Vec<EventFieldList>,
) -> NotificationMessage
pub fn data_change( sequence_number: u32, publish_time: DateTime, data_change_notifications: Vec<MonitoredItemNotification>, event_notifications: Vec<EventFieldList>, ) -> NotificationMessage
Create a notification message which contains data change AND / OR events. Calling this with neither will panic. Notification data can have up to 2 elements to covers the case in table 158 where a subscription contains monitored items for events and data.
Sourcepub fn status_change(
sequence_number: u32,
publish_time: DateTime,
status: StatusCode,
) -> NotificationMessage
pub fn status_change( sequence_number: u32, publish_time: DateTime, status: StatusCode, ) -> NotificationMessage
Create a status change notification message
Sourcepub fn keep_alive(
sequence_number: u32,
publish_time: DateTime,
) -> NotificationMessage
pub fn keep_alive( sequence_number: u32, publish_time: DateTime, ) -> NotificationMessage
Create a keep-alive notification message
Sourcepub fn into_notifications(
self,
) -> Option<(Vec<DataChangeNotification>, Vec<EventNotificationList>)>
pub fn into_notifications( self, ) -> Option<(Vec<DataChangeNotification>, Vec<EventNotificationList>)>
Extract notifications from the message. Unrecognized / unparseable notifications will be
ignored. If there are no notifications, the function will return None
.
Trait Implementations§
Source§impl BinaryDecodable for NotificationMessage
impl BinaryDecodable for NotificationMessage
Source§fn decode<S: Read + ?Sized>(
stream: &mut S,
ctx: &Context<'_>,
) -> EncodingResult<Self>
fn decode<S: Read + ?Sized>( stream: &mut S, ctx: &Context<'_>, ) -> EncodingResult<Self>
Decodes an instance from the read stream. The decoding options contains restrictions set by
the server / client on the length of strings, arrays etc. If these limits are exceeded the
implementation should return with a
BadDecodingError
as soon as possible.Source§impl BinaryEncodable for NotificationMessage
impl BinaryEncodable for NotificationMessage
Source§fn byte_len(&self, ctx: &Context<'_>) -> usize
fn byte_len(&self, ctx: &Context<'_>) -> usize
Returns the exact byte length of the structure as it would be if
encode
were called.
This may be called prior to writing to ensure the correct amount of space is available.Source§impl Clone for NotificationMessage
impl Clone for NotificationMessage
Source§fn clone(&self) -> NotificationMessage
fn clone(&self) -> NotificationMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for NotificationMessage
impl Debug for NotificationMessage
Source§impl Default for NotificationMessage
impl Default for NotificationMessage
Source§fn default() -> NotificationMessage
fn default() -> NotificationMessage
Returns the “default value” for a type. Read more
Source§impl JsonDecodable for NotificationMessage
impl JsonDecodable for NotificationMessage
Source§fn decode(
stream: &mut JsonStreamReader<&mut dyn Read>,
ctx: &Context<'_>,
) -> EncodingResult<Self>
fn decode( stream: &mut JsonStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>
Decode Self from a JSON stream.
Source§impl JsonEncodable for NotificationMessage
impl JsonEncodable for NotificationMessage
Source§fn encode(
&self,
stream: &mut JsonStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> EncodingResult<()>
fn encode( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>
Write the type to the provided JSON writer.
Source§impl MessageInfo for NotificationMessage
impl MessageInfo for NotificationMessage
Source§fn json_type_id(&self) -> ObjectId
fn json_type_id(&self) -> ObjectId
The JSON type id associated with the message.
Source§fn xml_type_id(&self) -> ObjectId
fn xml_type_id(&self) -> ObjectId
The XML type id associated with the message.
Source§fn data_type_id(&self) -> DataTypeId
fn data_type_id(&self) -> DataTypeId
The data type id associated with the message.
Source§impl PartialEq for NotificationMessage
impl PartialEq for NotificationMessage
Source§impl UaNullable for NotificationMessage
impl UaNullable for NotificationMessage
Source§fn is_ua_null(&self) -> bool
fn is_ua_null(&self) -> bool
Return true if this value is null, meaning it can be left out when
being encoded in JSON and XML encodings.
Source§impl XmlDecodable for NotificationMessage
impl XmlDecodable for NotificationMessage
Source§fn decode(
stream: &mut XmlStreamReader<&mut dyn Read>,
ctx: &Context<'_>,
) -> EncodingResult<Self>
fn decode( stream: &mut XmlStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>
Decode a value from an XML stream.
Source§impl XmlEncodable for NotificationMessage
impl XmlEncodable for NotificationMessage
Source§fn encode(
&self,
stream: &mut XmlStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> EncodingResult<()>
fn encode( &self, stream: &mut XmlStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>
Encode a value to an XML stream.
Source§impl XmlType for NotificationMessage
impl XmlType for NotificationMessage
impl StructuralPartialEq for NotificationMessage
Auto Trait Implementations§
impl Freeze for NotificationMessage
impl !RefUnwindSafe for NotificationMessage
impl Send for NotificationMessage
impl Sync for NotificationMessage
impl Unpin for NotificationMessage
impl !UnwindSafe for NotificationMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DynEncodable for Twhere
T: BinaryEncodable + JsonEncodable + XmlEncodable + ExpandedMessageInfo + Any + Debug + Send + Sync + Clone + PartialEq,
impl<T> DynEncodable for Twhere
T: BinaryEncodable + JsonEncodable + XmlEncodable + ExpandedMessageInfo + Any + Debug + Send + Sync + Clone + PartialEq,
Source§fn encode_binary(
&self,
stream: &mut dyn Write,
ctx: &Context<'_>,
) -> Result<(), Error>
fn encode_binary( &self, stream: &mut dyn Write, ctx: &Context<'_>, ) -> Result<(), Error>
Encode the struct using OPC-UA binary encoding.
Source§fn encode_json(
&self,
stream: &mut JsonStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> Result<(), Error>
fn encode_json( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> Result<(), Error>
Encode the struct using reversible OPC-UA JSON encoding.
Source§fn encode_xml(
&self,
stream: &mut XmlStreamWriter<&mut dyn Write>,
ctx: &Context<'_>,
) -> Result<(), Error>
fn encode_xml( &self, stream: &mut XmlStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> Result<(), Error>
Encode the struct using OPC-UA XML encoding.
Source§fn xml_tag_name(&self) -> &str
fn xml_tag_name(&self) -> &str
The XML tag name for this struct.
Source§fn byte_len_dyn(&self, ctx: &Context<'_>) -> usize
fn byte_len_dyn(&self, ctx: &Context<'_>) -> usize
Get the binary byte length of this struct.
Source§fn binary_type_id(&self) -> ExpandedNodeId
fn binary_type_id(&self) -> ExpandedNodeId
Get the binary encoding ID of this struct.
Source§fn json_type_id(&self) -> ExpandedNodeId
fn json_type_id(&self) -> ExpandedNodeId
Get the JSON encoding ID of this struct.
Source§fn xml_type_id(&self) -> ExpandedNodeId
fn xml_type_id(&self) -> ExpandedNodeId
Get the XML encoding ID of this struct.
Source§fn data_type_id(&self) -> ExpandedNodeId
fn data_type_id(&self) -> ExpandedNodeId
Get the data type ID of this struct.
Source§fn as_dyn_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn as_dyn_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
Method to cast this to a dyn Any box, required for downcasting.
Source§fn as_dyn_any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
fn as_dyn_any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
Method to cast this to a dyn Any trait object, required for downcasting by reference.
Source§fn clone_box(&self) -> Box<dyn DynEncodable>
fn clone_box(&self) -> Box<dyn DynEncodable>
Clone this to a dyn box. Required in order to implement Clone for ExtensionObject.
Source§fn dyn_eq(&self, other: &(dyn DynEncodable + 'static)) -> bool
fn dyn_eq(&self, other: &(dyn DynEncodable + 'static)) -> bool
Compare this with dynamic object. Invokes the PartialEq implementation of self and other,
if other has type
Self
.Source§impl<T> EventField for Twhere
T: IntoVariant + Clone,
impl<T> EventField for Twhere
T: IntoVariant + Clone,
Source§fn get_value(
&self,
attribute_id: AttributeId,
index_range: &NumericRange,
remaining_path: &[QualifiedName],
) -> Variant
fn get_value( &self, attribute_id: AttributeId, index_range: &NumericRange, remaining_path: &[QualifiedName], ) -> Variant
Get the variant representation of this field, using the given index range. Read more
Source§impl<T> ExpandedMessageInfo for Twhere
T: MessageInfo,
impl<T> ExpandedMessageInfo for Twhere
T: MessageInfo,
Source§fn full_type_id(&self) -> ExpandedNodeId
fn full_type_id(&self) -> ExpandedNodeId
The binary type id associated with the message.
Source§fn full_json_type_id(&self) -> ExpandedNodeId
fn full_json_type_id(&self) -> ExpandedNodeId
The JSON type id associated with the message.
Source§fn full_xml_type_id(&self) -> ExpandedNodeId
fn full_xml_type_id(&self) -> ExpandedNodeId
The XML type id associated with the message.
Source§fn full_data_type_id(&self) -> ExpandedNodeId
fn full_data_type_id(&self) -> ExpandedNodeId
The data type ID associated with the message.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoVariant for Twhere
T: DynEncodable,
impl<T> IntoVariant for Twhere
T: DynEncodable,
Source§fn into_variant(self) -> Variant
fn into_variant(self) -> Variant
Convert self into a variant.
Source§impl<T> TryFromVariant for Twhere
T: DynEncodable,
impl<T> TryFromVariant for Twhere
T: DynEncodable,
Source§impl<T> VariantType for Twhere
T: DynEncodable,
impl<T> VariantType for Twhere
T: DynEncodable,
Source§fn variant_type_id() -> VariantScalarTypeId
fn variant_type_id() -> VariantScalarTypeId
The variant kind this type will be represented as.