blob: a9810cd6351fa5a56d4125a7a52f9fae38604504 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
open Markup
exception MalformedStanza of location * Error.t
type socket
type t = {
stream : (signal, async) stream;
push : (signal, sync) stream option -> unit;
_socket : socket;
}
(** This is the XML namespace of the underlying element stream.
You can rely on it on your code, as an escape hatch, but you should probably not,
since the Portal interface is supposed to be agnostic. *)
val xmlns : string
(** [header domain portal] sends an initial stream header to the XMPP server [portal]
addressed to [domain]. It returns the server-assigned [id] of the stream included in
the response stream header.
When [from] is specified, a from attribute is included. *)
val header : ?from:string -> string -> t -> string Lwt.t
(** [close] is a stream of signals that close the Portal, indicating to the XMPP server
that the connection is closed. Namely, it does {b not} interact with the Portal in
any way: It's the caller's job to provide it to the stream. *)
val close : (signal, sync) stream
(** [connect domain] returns a Portal connected to the XMPP server [domain]. *)
val connect : string -> t Lwt.t
|