A type-safe Rust XMPP library.
Find a file
Emmanuel Gil Peyrot cf25bd3fee jid: Refactor all three JID types
The main reason for this refactor was to make common operations simpler,
for instance formatting a JID is now a simple clone of a String.

Instead of having three different String for each of node, domain and
resource, we now have a single String with offsets pointing to where the
at and slash are (if they are present).

This also reduces the size of a FullJid from 72 bytes to 32 bytes on
64-bit platforms (less so on 32-bit), and BareJid from 48 bytes to
32 bytes.  Jid is still 40 bytes instead of 32, but that can be improved
in a future version where InnerJid has been inlined into each struct.
2023-06-20 18:59:26 +02:00
icu icu: Derive PartialEq and Eq 2022-09-20 19:15:51 +02:00
jid jid: Refactor all three JID types 2023-06-20 18:59:26 +02:00
minidom minidom/examples: silence warning on unused property in struct 2023-06-01 16:25:38 +02:00
parsers parsers: Document new MucUser helpers 2023-06-07 19:17:06 +02:00
tokio-xmpp tokio-xmpp: Add syntax highlighting to debug logs 2023-06-19 19:52:38 +02:00
xmpp xmpp: Revert part of 9c39e3 and fix code at the right place 2023-06-07 19:10:45 +02:00
.gitignore
.gitlab-ci.yml Include libicu-dev in CI images 2023-06-06 01:07:19 +02:00
Cargo.toml WIP: Add ICU bindings for stringprep, idna2008 and spoof checker. 2022-09-16 11:10:52 +02:00
LICENSE Readd global LICENSE file 2020-02-25 22:13:34 +01:00
README.md README: add lib descriptions 2020-04-23 23:19:37 +02:00

xmpp-rs

What's this?

A very much WIP set of rust XMPP library with the goals of being type-safe and well-tested.

  • xmpp-rs provides a high-level API for the protocol. You shouldn't need to know about the protocol to use it.
  • tokio-xmpp is a lower-level library that handles the XMPP stream(s).
  • xmpp-parsers parses XML into Rust and back.
  • minidom is a DOM library quite specific for XMPP
  • jid is a Jid parsing library.

Contact

There is an XMPP MUC for the discussion of this library, feel free to join! :)

chat@xmpp.rs

License

Mozilla Public License 2 (MPL2). See the LICENSE file.