summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestOpensOpened.ipdl
blob: 04b633634ad9eeb6e3a77ec2b35d623fec18d3d0 (plain)
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
namespace mozilla {
namespace _ipdltest2 {

// (Opens protocols can have different semantics than the endpoints
// that opened them)
intr protocol PTestOpensOpened {
child:
    async Hi();
    intr HiRpc();

parent:
    async Hello();
    sync HelloSync();
    intr HelloRpc();
    async __delete__();

state START:       recv Hello goto HI;
state HI:          send Hi goto HELLO_SYNC;
state HELLO_SYNC:  recv HelloSync goto HELLO_RPC;
state HELLO_RPC:   answer HelloRpc goto HI_RPC;
state HI_RPC:      call HiRpc goto DEAD;
state DEAD:
    recv __delete__;
};


} // namespace mozilla
} // namespace _ipdltest2