Devkit_core.AsyncSourceAsynchronous IO helpers
val simple_event :
Ev.event_base ->
?ev:Ev.event ->
?timeout:float ->
Unix.file_descr ->
Ev.event_flags list ->
(Ev.event -> Unix.file_descr -> Ev.event_flags -> unit) ->
Ev.eventCreate a new event or use the provided ev and make it persistent with the infinite timeout (or use the provided timeout). Schedule this event with provided callback f. Don't forget del to unschedule.
val setup_simple_event :
Ev.event_base ->
?ev:Ev.event ->
?timeout:float ->
Unix.file_descr ->
Ev.event_flags list ->
(Ev.event -> Unix.file_descr -> Ev.event_flags -> unit) ->
unitval read_available :
limit:int ->
Unix.file_descr ->
[> `Chunk of string * bool | `Limit of string ]Read out all immediately available input (no blocking)
val read_buf :
Ev.event_base ->
?ev:Ev.event ->
?timeout:float ->
bytes ->
Unix.file_descr ->
([> `Eof | `EofImm | `Exn of exn | `ExnImm of exn | `Timeout ] ->
int ->
unit) ->
(bytes -> unit) ->
unitread_buf buf fd err k - asynchronously fill buf with data from fd and call k buf when done (buffer is full). fd should be nonblocking. Call err on error (EOF).
val read_n :
Ev.event_base ->
?ev:Ev.event ->
?timeout:float ->
int ->
Unix.file_descr ->
([> `Eof | `EofImm | `Exn of exn | `ExnImm of exn | `Timeout ] ->
int ->
unit) ->
(string -> unit) ->
unitval periodic_timer_0 :
Ev.event_base ->
bool ref ->
float ->
float ->
?name:string ->
(unit -> unit) ->
Ev.eventCall f with delay-second pauses between invocations. Set stop to true to stop the timer. NB do not Ev.del the event inside the f callback.