File: join_space.mli

package info (click to toggle)
jocaml 4.01.0-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 16,736 kB
  • ctags: 23,836
  • sloc: ml: 111,262; ansic: 32,746; sh: 6,057; lisp: 4,230; makefile: 3,861; asm: 3,734; awk: 88; perl: 45; fortran: 21; sed: 19; cs: 9
file content (76 lines) | stat: -rw-r--r-- 2,422 bytes parent folder | download | duplicates (3)
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