diff --git a/tiny_httpd/Tiny_httpd_ws/With_lock/index.html b/tiny_httpd/Tiny_httpd_ws/With_lock/index.html new file mode 100644 index 00000000..fa34f9a7 --- /dev/null +++ b/tiny_httpd/Tiny_httpd_ws/With_lock/index.html @@ -0,0 +1,2 @@ + +
Tiny_httpd_ws.With_lockSynchronization primitive used to allow both the reader to reply to "ping", and the handler to send messages, without stepping on each other's toes.
A primitive to run the callback in a critical section where others cannot run at the same time.
The default is a mutex, but that works poorly with thread pools so it's possible to use a semaphore or a cooperative mutex instead.
type builder = unit -> tval default_builder : builderLock using Mutex.
Tiny_httpd_wsWebsockets for Tiny_httpd.
This sub-library (tiny_httpd.ws) exports a small implementation for a websocket server. It has no additional dependencies.
type handler =
+Tiny_httpd_ws (tiny_httpd.Tiny_httpd_ws) Module Tiny_httpd_ws
Websockets for Tiny_httpd.
This sub-library (tiny_httpd.ws) exports a small implementation for a websocket server. It has no additional dependencies.
module With_lock : sig ... endSynchronization primitive used to allow both the reader to reply to "ping", and the handler to send messages, without stepping on each other's toes.
type handler =
unit Tiny_httpd_core.Request.t ->
Tiny_httpd_core.IO.Input.t ->
Tiny_httpd_core.IO.Output.t ->
unitWebsocket handler
val upgrade :
+ ?with_lock:With_lock.t ->
Tiny_httpd_core.IO.Input.t ->
Tiny_httpd_core.IO.Output.t ->
- Tiny_httpd_core.IO.Input.t * Tiny_httpd_core.IO.Output.tUpgrade a byte stream to the websocket framing protocol.
Exception that can be raised from IOs inside the handler, when the connection is closed from underneath.
val add_route_handler :
+ Tiny_httpd_core.IO.Input.t * Tiny_httpd_core.IO.Output.tUpgrade a byte stream to the websocket framing protocol.
Exception that can be raised from IOs inside the handler, when the connection is closed from underneath.
val add_route_handler :
?accept:(unit Tiny_httpd_core.Request.t -> (unit, int * string) result) ->
?accept_ws_protocol:(string -> bool) ->
?middlewares:Tiny_httpd_core.Server.Head_middleware.t list ->
+ ?with_lock:With_lock.builder ->
Tiny_httpd_core.Server.t ->
(Tiny_httpd_core.Server.upgrade_handler,
Tiny_httpd_core.Server.upgrade_handler)
Tiny_httpd_core.Route.t ->
handler ->
- unitAdd a route handler for a websocket endpoint.
+ unitAdd a route handler for a websocket endpoint.