Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* simple-rpc.sig |
2 | * 2004 Matthew Fluet (mfluet@acm.org) | |
3 | * Ported to MLton threads. | |
4 | *) | |
5 | ||
6 | (* simple-rpc-sig.sml | |
7 | * | |
8 | * COPYRIGHT (c) 1997 AT&T Labs Research. | |
9 | * | |
10 | * Generators for simple RPC protocols. | |
11 | *) | |
12 | ||
13 | signature SIMPLE_RPC = | |
14 | sig | |
15 | type 'a event = 'a CML.event | |
16 | ||
17 | val mkRPC : ('a -> 'b) -> | |
18 | {call : 'a -> 'b, | |
19 | entryEvt : unit event} | |
20 | ||
21 | val mkRPC_In : (('a * 'c) -> 'b) -> | |
22 | {call : 'a -> 'b, | |
23 | entryEvt : 'c -> unit event} | |
24 | ||
25 | val mkRPC_Out : ('a -> ('b * 'c)) -> | |
26 | {call : 'a -> 'b, | |
27 | entryEvt : 'c event} | |
28 | ||
29 | val mkRPC_InOut : (('a * 'c) -> ('b * 'd)) -> | |
30 | {call : 'a -> 'b, | |
31 | entryEvt : 'c -> 'd event} | |
32 | end |