mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
c8133fee65
--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
76 lines
1.6 KiB
Plaintext
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
|