diff options
author | 2024-12-22 18:58:28 +0000 | |
---|---|---|
committer | 2024-12-22 18:58:28 +0000 | |
commit | 6385e43e8ca467e53c6a705a932016c5af75c3a2 (patch) | |
tree | f63fb7bd9a349f24b093ba4dd037c6ce7789f5ee /stanza/src/xep_0199.rs | |
parent | 595d165479b8b12e456f39205d8433b822b07487 (diff) | |
download | luz-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.rs | 26 |
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)) + } +} |