1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
(***********************************************************************)
(* *)
(* Objective Caml *)
(* *)
(* Fabrice Le Fessant, projet SOR/PARA INRIA Rocquencourt *)
(* Luc Maranget, projet Moscova *)
(* *)
(* Copyright 2005 Institut National de Recherche en Informatique et *)
(* Automatique. Distributed only by permission. *)
(* *)
(* *)
(***********************************************************************)
(* $Id: join_space.mli 8253 2007-05-22 13:07:17Z maranget $ *)
open Join_types
(* Forward pointers for local message sending, set by module Join *)
type async_ref =
{ mutable async : 'a . automaton -> int -> 'a -> unit }
val send_async_ref : async_ref
type async_gen_ref =
{ mutable async_gen : 'a.'a async -> 'a -> unit ; }
val send_async_gen_ref : async_gen_ref
type sync_ref =
{ mutable sync : 'a 'b . automaton -> int -> 'a -> 'b}
val send_sync_ref : sync_ref
(* Change a value to parameter and back *)
val globalize :
'a -> Marshal.extern_flags list -> parameter
val localize : parameter -> 'a
val here : space_id
val remote_send_async :
bool (* may_block *) ->
space_id ->
int (* uid *) -> int (* channnel *) -> 'a (* message *) -> unit
val remote_send_alone :
bool (* may_block *) ->
space_id ->
int (* uid *) -> 'a (* message *) -> unit
val remote_send_sync :
space_id ->
int (* uid *) -> int (* channnel *) -> continuation ->
'a (* message *) -> 'b
val remote_send_sync_alone :
space_id ->
int (* uid *) -> continuation ->
'a (* message *) -> 'b
val register_service : string -> ('a -> 'b) -> unit
val call_service : space_id -> string (* key *) -> 'a (* message *) -> 'b
val rid_from_addr : Unix.sockaddr -> space_id
val halt : unit -> unit
val listen : Unix.sockaddr -> unit
val connect : Unix.file_descr -> unit
val at_fail : space_id -> unit async -> unit
val flush_space : unit -> unit
val get_sockaddrs : unit -> Unix.sockaddr list
|