diff options
Diffstat (limited to 'test/js/websockets_hello.ml')
-rw-r--r-- | test/js/websockets_hello.ml | 35 |
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 |