Module Parry_server

module Parry_server: sig .. end
The synchronization server. This module contains everything needed to start a synchronization server for Parry jobs. For a minimal example, you would need to define modules Job and Key, and then write the following:

module Pats=Parry_server.Server(Job)
open Parry_server
open Parry_common
open Job

let st=Pats.initial_state [initial_job] []
let key=
  let open Cryptokit.RSA in
  {Parry_common.blank_key with size=(String.length Key.n) lsl 3; n=Key.n;e=Key.e }

let _=
  Pats.add_key st key;
  Pats.server st

Then, improve it by launching a UI thread before starting the server:

let _=Thread.create (fun ()->Pats.webui 8000 st)

module IntSet: Set.S  with type elt = int
module StrMap: Map.S  with type key = string
module IntMap: Map.S  with type key = int
module Server: 
functor (J : Parry_common.Job) -> sig .. end