package octez-plonk

  1. Overview
  2. Docs
Plonk zero-knowledge proving system

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-17.3.tar.gz
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc

doc/octez-plonk.communication/Communication/Distributed_wrapper/Make/index.html

Module Distributed_wrapper.MakeSource

Parameters

Signature

include Distributed.Process with type message_type = A.t with type 'a io = 'a Lwt.t
exception Init_more_than_once
exception InvalidNode of Distributed.Node_id.t
exception Local_only_mode
type 'a t
type 'a io = 'a Lwt.t
type message_type = A.t
type 'a matcher_list
type monitor_ref
type monitor_reason =
  1. | Normal of Distributed.Process_id.t
  2. | Exception of Distributed.Process_id.t * exn
  3. | UnkownNodeId of Distributed.Process_id.t * Distributed.Node_id.t
  4. | NoProcess of Distributed.Process_id.t
module Remote_config : sig ... end
module Local_config : sig ... end
type node_config =
  1. | Local of Local_config.t
  2. | Remote of Remote_config.t
val return : 'a -> 'a t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
type proc_rep =
  1. | Fun of unit -> unit t
  2. | Registered of string
val register : string -> (Distributed.Process_id.t -> unit -> unit t) -> unit t
val fail : exn -> 'a t
val catch : (unit -> 'a t) -> (exn -> 'a t) -> 'a t
val spawn : ?monitor:bool -> Distributed.Node_id.t -> proc_rep -> Distributed.Process_id.t -> (Distributed.Process_id.t * monitor_ref option) t
val case : (message_type -> (unit -> 'a t) option) -> 'a matcher_list
val termination_case : (monitor_reason -> 'a t) -> 'a matcher_list
val (|.) : 'a matcher_list -> 'a matcher_list -> 'a matcher_list
val receive : ?timeout_duration:float -> 'a matcher_list -> 'a option t
val receive_loop : ?timeout_duration:float -> bool matcher_list -> unit t
val send : Distributed.Process_id.t -> message_type -> unit t
val (>!) : Distributed.Process_id.t -> message_type -> unit t
val broadcast : Distributed.Node_id.t -> message_type -> unit t
val monitor : Distributed.Process_id.t -> monitor_ref t
val unmonitor : monitor_ref -> unit t
val get_self_pid : Distributed.Process_id.t t
val get_self_node : Distributed.Node_id.t t
val get_remote_node : string -> Distributed.Node_id.t option t
val get_remote_nodes : Distributed.Node_id.t list t
val add_remote_node : string -> int -> string -> Distributed.Node_id.t t
val remove_remote_node : Distributed.Node_id.t -> unit t
val lift_io : 'a io -> 'a t
val run_node : ?process:(unit -> unit t) -> node_config -> unit io
module M : Enriched_message_type with type t = A.t with type 'a step = 'a A.step with type 'a request = 'a A.request with type 'a reply = 'a A.reply

Additional monadic interface

Sourceval (let*) : 'a t -> ('a -> 'b t) -> 'b t
Sourceval (let+) : 'a t -> ('a -> 'b) -> 'b t
Sourceval mapM : ('a -> 'b t) -> 'a list -> 'b list t
Sourceval dmap : pids:Distributed.Process_id.t list -> request:('a -> index:int -> 'step M.request) -> reply:('step M.reply -> (unit -> 'b t) option) -> 'a list -> 'b list t

dmap ~pids ~request ~reply l sends requests built by applying request to the elements of l to the workers pids and waits to receive a valid reply from each worker.

Sourceval handle_request : Distributed.Process_id.t -> step:'step M.step -> handler:('step M.request -> (unit -> ('step M.reply * 'b) t) option) -> 'b t

handle_request master_pid ~setp ~handler l waits to receive a request for a given step, process it through handler and sends the reply to master_pid. The handler might also return some additional data ('b) that isn't meant to be sent back to the master, but rather kept by the worker for future computation.

OCaml

Innovation. Community. Security.