summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestActorPunning.ipdl
blob: 54deb277a7949a1936b6cfee74458b35c58c6a77 (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
29
30
31
32
33
34
35
36
37
38
39

include protocol PTestActorPunningPunned;
include protocol PTestActorPunningSub;
include "mozilla/_ipdltest/IPDLUnitTestUtils.h";

using struct mozilla::_ipdltest::Bad from "mozilla/_ipdltest/IPDLUnitTestUtils.h";

namespace mozilla {
namespace _ipdltest {

protocol PTestActorPunning {
    manages PTestActorPunningPunned;
    manages PTestActorPunningSub;

child:
    async Start();

parent:
    async PTestActorPunningPunned();
    async PTestActorPunningSub();
    async Pun(PTestActorPunningSub a, Bad bad);
    async __delete__();


state PING:
    send Start goto CONSTRUCTING;

state CONSTRUCTING:
    recv PTestActorPunningPunned goto CONSTRUCTING;
    recv PTestActorPunningSub goto CONSTRUCTING;
    recv Pun goto DEAD;
    // We never make it past this transition, --> error.

state DEAD:
    recv __delete__;
};

} // namespace mozilla
} // namespace _ipdltest