aboutsummaryrefslogtreecommitdiffstats
path: root/stanza/src/xep_0199.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2024-12-22 18:58:28 +0000
committerLibravatar cel 🌸 <cel@bunny.garden>2024-12-22 18:58:28 +0000
commit6385e43e8ca467e53c6a705a932016c5af75c3a2 (patch)
treef63fb7bd9a349f24b093ba4dd037c6ce7789f5ee /stanza/src/xep_0199.rs
parent595d165479b8b12e456f39205d8433b822b07487 (diff)
downloadluz-6385e43e8ca467e53c6a705a932016c5af75c3a2.tar.gz
luz-6385e43e8ca467e53c6a705a932016c5af75c3a2.tar.bz2
luz-6385e43e8ca467e53c6a705a932016c5af75c3a2.zip
implement sink and stream with tokio::spawn
Diffstat (limited to '')
-rw-r--r--stanza/src/xep_0199.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/stanza/src/xep_0199.rs b/stanza/src/xep_0199.rs
new file mode 100644
index 0000000..9605721
--- /dev/null
+++ b/stanza/src/xep_0199.rs
@@ -0,0 +1,26 @@
+use peanuts::{
+ element::{FromElement, IntoElement},
+ Element,
+};
+
+pub const XMLNS: &str = "urn:xmpp:ping";
+
+#[derive(Clone, Copy, Debug)]
+pub struct Ping;
+
+impl FromElement for Ping {
+ fn from_element(element: peanuts::Element) -> peanuts::element::DeserializeResult<Self> {
+ element.check_name("ping")?;
+ element.check_namespace(XMLNS)?;
+
+ element.no_more_content()?;
+
+ Ok(Ping)
+ }
+}
+
+impl IntoElement for Ping {
+ fn builder(&self) -> peanuts::element::ElementBuilder {
+ Element::builder("ping", Some(XMLNS))
+ }
+}