package miaou-core

  1. Overview
  2. Docs
Miaou core/widgets (no drivers, no SDL)

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.5.2.tar.gz
md5=60a3b9f181f24572a06a9492532bfdda
sha512=fcc35a275066be2900e6201782faf47503076fa4640f08cf78067835a6f447b74613009e55b2ac799adb7ca46f1bffa261fc5971753f2cc3c6bef327511c7ef6

doc/src/miaou-core.lib_miaou_internal/flash_bus.ml.html

Source file flash_bus.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(* SPDX-License-Identifier: MIT *)
(* Simple flash message store used by the headless test driver. *)

[@@@warning "-32-34-37-69"]

type level = Info | Success | Warn | Error

let now () = Unix.gettimeofday ()

let store : (float * level * string) list ref = ref []

let push ?(level = Info) ?(duration = 2.5) msg =
  let expiry = now () +. duration in
  store := (expiry, level, msg) :: !store

let prune () =
  let t = now () in
  store := List.filter (fun (e, _, _) -> e > t) !store

let snapshot () =
  prune () ;
  List.rev_map (fun (_, l, m) -> (l, m)) (List.rev !store)

let tick () = prune ()