mirror of
https://github.com/LCPQ/quantum_package
synced 2024-08-15 00:58:31 +02:00
85 lines
2.3 KiB
OCaml
85 lines
2.3 KiB
OCaml
|
type t =
|
||
|
{
|
||
|
queue : Queuing_system.t ;
|
||
|
state : Message.State.t option ;
|
||
|
address_tcp : Address.Tcp.t option ;
|
||
|
address_inproc : Address.Inproc.t option ;
|
||
|
psi : Message.Psi.t option;
|
||
|
progress_bar : Progress_bar.t option ;
|
||
|
running : bool;
|
||
|
}
|
||
|
|
||
|
|
||
|
(** {1} Debugging *)
|
||
|
|
||
|
(** Fetch the QP_TASK_DEBUG environment variable *)
|
||
|
val debug_env : bool
|
||
|
|
||
|
(** Print a debug message *)
|
||
|
val debug : string -> unit
|
||
|
|
||
|
(** {1} ZMQ *)
|
||
|
|
||
|
(** ZeroMQ context *)
|
||
|
val zmq_context : ZMQ.Context.t
|
||
|
|
||
|
(** Bind a ZMQ socket *)
|
||
|
val bind_socket :
|
||
|
socket_type:string -> socket:'a ZMQ.Socket.t -> address:string -> unit
|
||
|
|
||
|
(** Name of the host on which the server runs *)
|
||
|
val hostname : string lazy_t
|
||
|
|
||
|
(** IP address of the current host *)
|
||
|
val ip_address : string lazy_t
|
||
|
|
||
|
(** Standard messages *)
|
||
|
val reply_ok : [> `Req ] ZMQ.Socket.t -> unit
|
||
|
val reply_wrong_state : [> `Req ] ZMQ.Socket.t -> unit
|
||
|
|
||
|
(** Stop server *)
|
||
|
val stop : port:int -> unit
|
||
|
|
||
|
(** {1} Server functions *)
|
||
|
|
||
|
(** Create a new job *)
|
||
|
val new_job : Message.Newjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Finish a running job *)
|
||
|
val end_job : Message.Endjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Connect a client *)
|
||
|
val connect: Message.Connect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Disconnect a client *)
|
||
|
val disconnect: Message.Disconnect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Add a task to the pool *)
|
||
|
val add_task: Message.AddTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Mark the task as done by the client *)
|
||
|
val task_done: Message.TaskDone_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Delete a task when it has been pulled by the collector *)
|
||
|
val del_task: Message.DelTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** The client get a new task to execute *)
|
||
|
val get_task: Message.GetTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Terminate server *)
|
||
|
val terminate : t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Put a wave function in the task server *)
|
||
|
val put_psi :
|
||
|
Message.PutPsi_msg.t -> string list -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Get the wave function stored in the task server *)
|
||
|
val get_psi : Message.GetPsi_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Reply an Error message *)
|
||
|
val error : string -> t -> [> `Req ] ZMQ.Socket.t -> t
|
||
|
|
||
|
(** Run server *)
|
||
|
val run : port:int -> unit
|
||
|
|