Модуль 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-2024 INRIA.
https://ocaml.org/manual/5.2/api/Runtime_events.Callbacks.html