A reactive XMPP client library for OCaml.
The core libary is detatched from the underlying transport that connects a client to a server. This allows the core libary to be portable. For usable transports see the packages xmpp_unix
or xmpp_websocket
.
The entry point of this library is the module: Xmpp
.
A few XMPP extensions are implemented. These modules provide types, parsers and helper logic around the core XMPP library for working with specific extensions.
Warning these extensions are even more incomplete than the core library.
Roster management as described in RFC 6121.
The entry point of this library is the module: Xmpp_roster
.
Implements parts of XEP-0030: Service Discovery.
The entry point of this library is the module: Xmpp_disco
.
Implements XEP-0115: Entity Capabilities. This can also be used to set presence.
The entry point of this library is the module: Xmpp_entity_capabilities
.
Implements XEP-0199: XMPP Ping.
The entry point of this library is the module: Xmpp_ping
.
Implements XEP-0060: Publish-Subscribe.
The entry point of this library is the module: Xmpp_pubsub
.
Implements XEP-0313: Message Archive Management.
The entry point of this library is the module: Xmpp_mam
.
Implementation of PBKDF. This is a quick hack to make ocaml-pbkdf use Digestif instead of mirage-crypto (Digestif is more portable than mirage-crypto)
The entry point of this library is the module: Digestif_pbkdf
.
Implementation of SCRAM using Digestif.
The entry point of this library is the module: Digestif_scram
.