gecko/ipc/ipdl/test/cxx/PTestLatency.ipdl
David Anderson c8133fee65 Rename IPDL's RPC to Interrupt (bug 910020, r=bent).
--HG--
rename : ipc/ipdl/test/cxx/PTestRPCErrorCleanup.ipdl => ipc/ipdl/test/cxx/PTestInterruptErrorCleanup.ipdl
rename : ipc/ipdl/test/cxx/PTestRPCRaces.ipdl => ipc/ipdl/test/cxx/PTestInterruptRaces.ipdl
rename : ipc/ipdl/test/cxx/PTestRPCShutdownRace.ipdl => ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl
rename : ipc/ipdl/test/cxx/PTestRacyRPCReplies.ipdl => ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl
rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.cpp => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.cpp
rename : ipc/ipdl/test/cxx/TestRPCErrorCleanup.h => ipc/ipdl/test/cxx/TestInterruptErrorCleanup.h
rename : ipc/ipdl/test/cxx/TestRPCRaces.cpp => ipc/ipdl/test/cxx/TestInterruptRaces.cpp
rename : ipc/ipdl/test/cxx/TestRPCRaces.h => ipc/ipdl/test/cxx/TestInterruptRaces.h
rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.cpp => ipc/ipdl/test/cxx/TestInterruptShutdownRace.cpp
rename : ipc/ipdl/test/cxx/TestRPCShutdownRace.h => ipc/ipdl/test/cxx/TestInterruptShutdownRace.h
rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.cpp => ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp
rename : ipc/ipdl/test/cxx/TestRacyRPCReplies.h => ipc/ipdl/test/cxx/TestRacyInterruptReplies.h
rename : ipc/ipdl/test/ipdl/error/rpcMessageCompress.ipdl => ipc/ipdl/test/ipdl/error/intrMessageCompress.ipdl
rename : ipc/ipdl/test/ipdl/error/tooWeakRPCAsync.ipdl => ipc/ipdl/test/ipdl/error/tooWeakInterruptAsync.ipdl
rename : ipc/ipdl/test/ipdl/ok/rpcProtocol.ipdl => ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl
2013-09-30 17:27:45 -07:00

76 lines
1.6 KiB
Plaintext

namespace mozilla {
namespace _ipdltest {
intr protocol PTestLatency {
child:
__delete__();
Ping();
Ping5();
intr Rpc();
Spam();
intr Synchro();
CompressedSpam(uint32_t seqno) compress;
intr Synchro2() returns (uint32_t lastSeqno,
uint32_t numMessagesDispatched);
parent:
Pong();
Pong5();
state START:
// if the timing resolution is too low, abort the test
send __delete__;
// otherwise, kick off the ping/pong trials
send Ping goto PONG;
// Trial 1: single ping/pong latency
state PING:
send Ping goto PONG;
send Ping5 goto PING4;
state PONG:
recv Pong goto PING;
// Trial 2: "overlapped" ping/pong latency
state PING5:
send Ping5 goto PING4;
call Rpc goto RPC;
state PING4: send Ping5 goto PING3;
state PING3: send Ping5 goto PING2;
state PING2: send Ping5 goto PING1;
state PING1: send Ping5 goto PONG1;
state PONG1: recv Pong5 goto PONG2;
state PONG2: recv Pong5 goto PONG3;
state PONG3: recv Pong5 goto PONG4;
state PONG4: recv Pong5 goto PONG5;
state PONG5: recv Pong5 goto PING5;
// Trial 3: lotsa RPC
state RPC:
call Rpc goto RPC;
send Spam goto SPAM;
// Trial 4: lots of sequential asyn messages, which tests pipelining
state SPAM:
send Spam goto SPAM;
call Synchro goto COMPRESSED_SPAM;
// Trial 5: lots of async spam, but compressed to cut down on
// dispatch overhead
state COMPRESSED_SPAM: // compressed spam, mmm
send CompressedSpam goto COMPRESSED_SPAM;
call Synchro2 goto DONE;
state DONE:
send __delete__;
};
} // namespace mozilla
} // namespace _ipdltest