package eliom
Install
Dune Dependency
Authors
Maintainers
Sources
md5=c8c67fe5fb8d3f44a3b17cc4a93a0e62
sha512=e58557a1b525efd011e0eb539b112b53e6c012ac3fb2153c251be030eda483dd3b19de625707cf5ffebd97fa6a7fabfb8a6aae8e8a61c79e0bd7ad2d289df9a9
doc/eliom.server/Eliom_bus/index.html
Module Eliom_bus
Source
Broadcasting facilities between clients and server
Please read the <<a_manual chapter="clientserver-communication" | chapter on
communication >>
of Eliom's manual before this page to learn how client and server parts communicate.
The type of bus's carrying values of type 'a
. Bus's are values that can be easily shared among clients. Each of these clients along with the server can send a value on the bus. Values can be received by each of the participants as a stream. Note that no effort is put to order message receptions on the different participants.
val create :
?scope:[< Eliom_comet.Channel.comet_scope ] ->
?name:string ->
?size:int ->
'a Deriving_Json.t ->
('a, 'a) t
create ?scope ?name ?size ?filter t
creates a fresh bus. The scope
parameter is used to chose the kind of channel on which the bus rely (See Eliom_comet.create
for more information). The ?name
argument allow one to make bus's persistent over server restart. The size
argument behaves like the one on Eliom_comet.Channel.create
. If ?filter
argument is present, data is filtered through this function before entering the bus. Use this for example if you want to add some information, like IP address, or user id.
val create_filtered :
?scope:[< Eliom_comet.Channel.comet_scope ] ->
?name:string ->
?size:int ->
filter:('a -> 'b Lwt.t) ->
'a Deriving_Json.t ->
('a, 'b) t
Same as create
, but data is filtered through filter
function before entering the bus. Use this for example if you want to add some information, like IP address, or user id.
stream b
returns the stream of data sent to bus b
. Notice you should not use that function multiple times on the same bus, it will return the same stream. If you want to receive multiple times the same data, you should copy the stream with Lwt_stream.clone