gecko-dev/ipc/ipdl/test/cxx/PTestEndpointOpensOpened.ipdl

31 lines
741 B
Plaintext

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
namespace mozilla {
namespace _ipdltest2 {
// (Opens protocols can have different semantics than the endpoints
// that opened them)
intr protocol PTestEndpointOpensOpened {
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