diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stream.ml | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/stream.ml b/lib/stream.ml index 29b6425..5da4aea 100644 --- a/lib/stream.ml +++ b/lib/stream.ml @@ -1,5 +1,12 @@ open Lwt.Syntax let start domain : Portal.t Lwt.t = - let+ stream, push = Portal.connect domain - in stream, push + let* stream, _push = Portal.connect domain + in let push = function + | None -> _push (Some Portal.stanza_close); + _push None; + | anything -> _push anything + in Some (Portal.stanza_open domain) |> push; + (* TODO: check this is a good stanza *) + let+ _ = Lwt_stream.get stream + in stream, push |