pubsub: provide accessor function for event's source node's name

Jonas Schäfer created

Handy if you want to prefilter or distribute events based on the source
node's name.

Change summary

parsers/src/pubsub/event.rs | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Detailed changes

parsers/src/pubsub/event.rs 🔗

@@ -241,6 +241,20 @@ impl From<PubSubEvent> for Element {
     }
 }
 
+impl PubSubEvent {
+    /// Return the name of the node to which this event is related.
+    pub fn node_name(&self) -> &NodeName {
+        match self {
+            Self::Purge { node, .. } => &node,
+            Self::PublishedItems { node, .. } => &node,
+            Self::RetractedItems { node, .. } => &node,
+            Self::Subscription { node, .. } => &node,
+            Self::Delete { node, .. } => &node,
+            Self::Configuration { node, .. } => &node,
+        }
+    }
+}
+
 impl MessagePayload for PubSubEvent {}
 
 #[cfg(test)]