- Rust 99.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Prosody would let the stream opening timeout if it receives it in more than one TCP packet, which seems like a bug. The behaviour was highly non-deterministic, a release build would almost always (but not always) succeed to connect to a localhost Prosody, a debug build would almost always (but not always) fail, and RUST_LOG=trace would make any build fail to connect, as would strace. My theory is that successful runs rely on the kernel merging all five TCP packets in a single one, and any tracing would add sufficient delay in-between to let it send every packet on its own. |
||
| .forgejo/workflows | ||
| jid | ||
| minidom | ||
| parsers | ||
| sasl | ||
| tokio-xmpp | ||
| xmpp | ||
| xso | ||
| xso-proc | ||
| .gitea | ||
| .github | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| typos.toml | ||
xmpp-rs
What's this?
A set of rust XMPP libraries with the goals of being type-safe and well-tested.
xmppprovides a high-level API for the protocol. You shouldn't need to know about the protocol to use it. Still very much WIP.tokio-xmppis a lower-level library that handles the XMPP stream(s).xmpp-parsersparses XML into Rust and back.minidomis a DOM library quite specific for XMPP.jidis a Jid parsing library.saslhandles the SASL protocol.xsoandxso-procprovide the procedural macros poweringxmpp-parsers.
Community
There is an XMPP MUC for the discussion of these libraries, feel free to join! :)
A Code of Conduct is available as CODE_OF_CONDUCT.md in the repository for the well-being of the community. Please refer to it in case of a possible conflict in any of the xmpp-rs venues (channel, forge, etc.).
Contributing
Thank you for your interest in the project!
Contributing rules are available as CONTRIBUTING.md in the repository.
License
Mozilla Public License 2 (MPL2). See the LICENSE file.
Building
Dependencies should be provided by crates if you use the default features. If
you use tokio-xmpp's tls-native feature you will need an ssl library
(openssl, libressl, etc.).
cargo build
The various features available should be explained in the crates themselves.