package async_kernel

  1. Overview
  2. Docs
Monadic concurrency library

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
sha256=01ced973dbc70535f692f38bed524ae82dba17e26e58791b2fbf0d647b160d2e

doc/async_kernel/Async_kernel/Synchronous_time_source/Event/index.html

Module Synchronous_time_source.EventSource

Sourcetype t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
include Core.Invariant.S with type t := t
Sourceval invariant : t -> unit
Sourcemodule Option : sig ... end

These are like the corresponding run_* functions, except they return an event that one can later abort.

Sourcemodule Abort_result : sig ... end
Sourceval abort : [> Core.read ] T1.t -> t -> Abort_result.t

abort t aborts the event t, if possible, and returns Ok if the event was aborted, or the reason it could not be aborted.

Sourceval abort_exn : [> Core.read ] T1.t -> t -> unit
Sourceval abort_if_possible : [> Core.read ] T1.t -> t -> unit
Sourceval create : [> Core.read ] T1.t -> callback -> t

create timesource callback creates an event that is not scheduled in timesource's timing wheel but is available to be scheduled using schedule_at and schedule_after.

Sourceval is_scheduled : t -> bool

If is_scheduled t returns false, calling any of the below schedule_* functions is guaranteed to not return an error.

Sourceval schedule_at : [> Core.read ] T1.t -> t -> Core.Time_ns.t -> unit Core.Or_error.t

schedule_at timesource t time schedules t to fire at time. schedule_at returns Error if t is currently scheduled to run.

Sourceval schedule_at_intervals' : [> Core.read ] T1.t -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> starting_at:Core.Time_ns.t -> unit Core.Or_error.t
Sourceval reschedule_at : [> Core.read ] T1.t -> t -> Core.Time_ns.t -> unit

reschedule_at timesource t time updates t to next fire at time.

For periodic events, reschedule updates the next time to fire, and leaves the interval unchanged. Events rescheduled to a past time will fire at the next advance of timesource.

Sourceval reschedule_after : [> Core.read ] T1.t -> t -> Core.Core_private.Time_ns_alternate_sexp.Span.t -> unit
Sourceval scheduled_at : t -> Core.Time_ns.t

scheduled_at returns the time that the event is currently scheduled at

OCaml

Innovation. Community. Security.