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