File: unikernel.ml

package info (click to toggle)
ocaml-logs-syslog 0.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 184 kB
  • sloc: ml: 683; makefile: 3
file content (21 lines) | stat: -rw-r--r-- 725 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
open Lwt.Infix

module Main (CLOCK : Mirage_clock.PCLOCK) (T : Mirage_time.S) (S : Tcpip.Stack.V4V6) = struct
  module LU = Logs_syslog_mirage.Udp(CLOCK)(S)

  let start _clock _time s =
    let ip = Ipaddr.V4.of_string_exn "10.0.0.1" in
    let r = LU.create s ~hostname:"MirageOS.example" ip () in
    Logs.set_reporter r ;
    Logs.set_level ~all:true (Some Logs.Debug) ;
    let rec go () =
      Logs_lwt.warn (fun l -> l "foobar") >>= fun () ->
      Logs_lwt.err (fun l -> l "bar foofoobar") >>= fun () ->
      Logs_lwt.info (fun l -> l "foofoobar") >>= fun () ->
      Logs_lwt.debug (fun l -> l "debug foofoobar") >>= fun () ->
      T.sleep_ns (Duration.of_sec 1) >>= fun () ->
      go ()
    in
    go ()

  end