Up
Module
Make
(
Arg
:
Arg
) () :
S
with
module
Client_message
=
Arg.Client_message
and
module
Server_message
=
Arg.Server_message
Parameters
Arg
:
Arg
Signature
module
Client_message
=
Arg.Client_message
module
Server_message
=
Arg.Server_message
module
Client_id
:
Core.Std.Unique_id
module
Server_read_result
: sig .. end
type
t
val
create : ?backlog:int -> ?verbose:bool -> ?log_disconnects:bool -> ?buffer_age_limit:[
| `At_most
of
Core.Std.Time.Span.t
| `Unlimited
] -> port:int -> auth:(
Async_extra.Import.Unix.Inet_addr.t
-> int ->
Client_id.t
-> [
| `Allow
| `Deny
of
string option
]
Async_extra.Import.Deferred.t
) -> unit ->
t
Async_extra.Import.Deferred.t
val
listen :
t
->
Server_read_result.t
Async_extra.Import.Pipe.Reader.t
val
listen_ignore_errors :
t
-> (
Client_id.t
*
Client_message.t
)
Async_extra.Import.Pipe.Reader.t
val
close :
t
->
Client_id.t
-> unit
val
close_server :
t
-> unit
Async_extra.Import.Deferred.t
val
flushed_time :
t
->
Client_id.t
-> [
| `Client_not_found
| `Flushed
of
Core.Std.Time.t
Async_extra.Import.Deferred.t
]
val
has_client_id :
t
->
Client_id.t
-> bool
val
send :
t
->
Client_id.t
->
Server_message.t
-> [
| `Sent
of
Core.Std.Time.t
| `Drop
of
exn
]
Async_extra.Import.Deferred.t
val
send_ignore_errors :
t
->
Client_id.t
->
Server_message.t
-> unit
val
send_to_all :
t
->
Server_message.t
-> unit
val
client_addr_port :
t
->
Client_id.t
-> (
Async_extra.Import.Unix.Inet_addr.t
* int) option
val
port :
t
-> int