Up
Module
Simple
(
Client_message
:
Binable_t
) (
Server_message
:
Binable_t
) () :
S
with
type
Client_message.t
=
Client_message.t
with
type
Server_message.t
=
Server_message.t
Parameters
Client_message
:
Binable_t
Server_message
:
Binable_t
Signature
module
Client_message
: sig .. end
module
Server_message
: sig .. end
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