Модуль Runtime_events.Callbacks
module Callbacks: sig .. end
type t
Тип обратных вызовов.
val create : ?runtime_begin:(int -> Runtime_events.Timestamp.t -> Runtime_events.runtime_phase -> unit) -> ?runtime_end:(int -> Runtime_events.Timestamp.t -> Runtime_events.runtime_phase -> unit) -> ?runtime_counter:(int -> Runtime_events.Timestamp.t -> Runtime_events.runtime_counter -> int -> unit) -> ?alloc:(int -> Runtime_events.Timestamp.t -> int array -> unit) -> ?lifecycle:(int -> Runtime_events.Timestamp.t -> Runtime_events.lifecycle -> int option -> unit) -> ?lost_events:(int -> int -> unit) -> unit -> t
Создайте Callback, который при необходимости подписывается на одно или несколько событий среды выполнения. Первое целое число, передаваемое обратным вызовам, — это индекс кольцевого буфера. Каждый домен владеет одним кольцевым буфером на протяжении всего времени своего существования. После завершения работы домена новый созданный домен может получить владение кольцевым буфером. Обратный вызов runtime_begin вызывается, когда среда выполнения переходит в новую фазу (например, runtime_begin с EV_MINOR вызывается в начале малой сборки мусора). Обратный вызов runtime_end вызывается, когда среда выполнения покидает определённую фазу. Обратный вызов runtime_counter вызывается, когда среда выполнения выдаёт счётчик. Обратные вызовы lifecycle вызываются при изменении жизненного цикла кольцевого буфера, когда потребителю может потребоваться отреагировать. Обратные вызовы alloc в настоящее время вызываются только в инструментированной среде выполнения. Обратные вызовы lost_events вызываются, если код потребителя обнаруживает, что некоторые непрочитанные события были перезаписаны.
val add_user_event : 'a Runtime_events.Type.t -> (int -> Runtime_events.Timestamp.t -> 'a Runtime_events.User.t -> 'a -> unit) -> t -> t
add_user_event ty callback t расширяет t, дополнительно подписываясь на пользовательские события типа ty. При возникновении такого события вызывается callback с соответствующим событием и данными.
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/Runtime_events.Callbacks.html