aboutsummaryrefslogtreecommitdiff
path: root/test/js/websockets_hello.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/js/websockets_hello.ml')
-rw-r--r--test/js/websockets_hello.ml35
1 files changed, 0 insertions, 35 deletions
diff --git a/test/js/websockets_hello.ml b/test/js/websockets_hello.ml
deleted file mode 100644
index fa47965..0000000
--- a/test/js/websockets_hello.ml
+++ /dev/null
@@ -1,35 +0,0 @@
-open Lwt.Syntax
-open Js_of_ocaml
-
-(* https://stackoverflow.com/questions/34929382/what-are-the-differences-between-lwt-async-and-lwt-main-run-on-ocaml-node-js *)
-let rec run t =
- let next_tick (_callback : unit -> unit) =
- Js.Unsafe.(fun_call
- (js_expr "process.nextTick")
- [| inject (Js.wrap_callback _callback) |])
- in Lwt.wakeup_paused ();
- match Lwt.poll t with
- | Some x -> x
- | None ->
- if Lwt.paused_count () > 0
- then next_tick (fun () -> run t)
- else ()
-
-let () =
- run @@
- let* server = Portal_ws.ws_endpoint "telepath.im" in
- let stream, push =
- (* Echo is a websocket that... echoes you stuff. *)
- Portal_ws.ws_stream "wss://echo.websocket.org" in
- push (Some "great text");
- push (Some "other text");
- push (Some "yet another text");
- push (Some "BYE");
- let+ _ = Lwt_stream.iter
- (fun greetings ->
- match greetings with
- (* When the websocket sends "BYE", we close. *)
- | "BYE" -> print_endline "CLOSING BYE"; push None
- | hello -> print_endline ("> " ^ hello))
- stream
- in print_endline server