29 releases
Uses new Rust 2024
| new 0.12.3 | Jun 11, 2026 |
|---|---|
| 0.12.2 | Feb 26, 2026 |
| 0.12.1 | Nov 2, 2025 |
| 0.12.0 | Feb 24, 2025 |
| 0.1.0 | Feb 27, 2017 |
#310 in Network programming
5,246 downloads per month
Used in 16 crates
(6 directly)
89KB
2K
SLoC
jid
What's this?
A crate which provides a struct Jid for Jabber IDs. It's used in xmpp-rs but other XMPP libraries can of course use this.
What license is it under?
MPL-2.0 or later, see the LICENSE file.
Notes
This library does not yet implement RFC7622.
lib.rs:
Represents XMPP addresses, also known as JabberIDs (JIDs) for the XMPP
protocol. A [Jid] can have between one and three parts in the form node@domain/resource:
- the (optional) node part designates a specific account/service on a server, for example
username@server.com - the domain part designates a server, for example
irc.jabberfr.org - the (optional) resource part designates a more specific client, such as a participant in a
groupchat (
jabberfr@chat.jabberfr.org/user) or a specific client device associated with an account (user@example.com/dino)
The [Jid] enum can be one of two variants, containing a more specific type:
BareJid(Jid::Barevariant): a JID without a resourceFullJid(Jid::Fullvariant): a JID with a resource
Jids as per the XMPP protocol only ever contain valid UTF-8. However, creating any form of Jid can fail in one of the following cases:
- wrong syntax: creating a Jid with an empty (yet declared) node or resource part, such as
@example.comoruser@example.com/ - stringprep error: some characters were invalid according to the stringprep algorithm, such as mixing left-to-write and right-to-left characters
Dependencies
~3–4.5MB
~88K SLoC