mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-01 04:47:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
75
ipc/ipdl/test/cxx/PTestLatency.ipdl
Normal file
75
ipc/ipdl/test/cxx/PTestLatency.ipdl
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
|
||||
namespace mozilla {
|
||||
namespace _ipdltest {
|
||||
|
||||
|
||||
intr protocol PTestLatency {
|
||||
|
||||
child:
|
||||
async __delete__();
|
||||
async Ping();
|
||||
async Ping5();
|
||||
intr Rpc();
|
||||
async Spam();
|
||||
intr Synchro();
|
||||
async CompressedSpam(uint32_t seqno) compress;
|
||||
intr Synchro2() returns (uint32_t lastSeqno,
|
||||
uint32_t numMessagesDispatched);
|
||||
|
||||
parent:
|
||||
async Pong();
|
||||
async 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue