mte/unikernel/duniverse/mirage/lib/functoria/job.mli
2025-11-11 02:07:51 +01:00

37 lines
1.4 KiB
OCaml

(*
* Copyright (c) 2013-2020 Thomas Gazagnaire <thomas@gazagnaire.org>
* Copyright (c) 2013-2020 Anil Madhavapeddy <anil@recoil.org>
* Copyright (c) 2015-2020 Gabriel Radanne <drupyog@zoho.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*)
(** The representation of main tasks. *)
type t
(** Type for job values. *)
val t : t Type.t
(** [job] is the signature for user's application main module. *)
val noop : t Impl.t
(** [noop] is an implementation of {!Functoria.job} that holds no state, does
nothing and has no dependency. *)
val runtime_args :
?runtime_package:Package.t ->
?runtime_modname:string ->
Argv.t Impl.t ->
t Impl.t
(** [runtime_args a] is an implementation of {!Functoria.job} that holds the
parsed command-line arguments. *)