完善客户端功能并同步差距文档
This commit is contained in:
@@ -78,6 +78,30 @@ int main() {
|
||||
CHECK(out[sizeof(Handshake)] == SEQUENCE_TABLE[0], "time-sync uses next sequence byte");
|
||||
}
|
||||
|
||||
// -------------------------------------------- server frame clock (§3.2)
|
||||
{
|
||||
ClassicStream s;
|
||||
CHECK(s.server_frame_ms() == 0, "server_frame_ms is 0 before any handshake");
|
||||
CHECK(!s.has_server_clock(), "has_server_clock false before handshake");
|
||||
|
||||
Handshake hs{};
|
||||
hs.header = HDR_HANDSHAKE;
|
||||
hs.handshake = 0x1234;
|
||||
hs.time = 500000;
|
||||
hs.delta = 20;
|
||||
auto b = raw(hs);
|
||||
s.feed(b.data(), b.size());
|
||||
(void)drain(s);
|
||||
|
||||
CHECK(s.has_server_clock(), "has_server_clock true after handshake");
|
||||
uint32_t base = 500000u + 20u; // hs.time + lDelta
|
||||
uint32_t f1 = s.server_frame_ms();
|
||||
CHECK(f1 >= base && f1 < base + 5000u,
|
||||
"server_frame_ms ~ hs.time + lDelta right after handshake");
|
||||
uint32_t f2 = s.server_frame_ms();
|
||||
CHECK(f2 >= f1, "server frame clock is monotonic non-decreasing");
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------- GC_PHASE
|
||||
{
|
||||
ClassicStream s;
|
||||
|
||||
Reference in New Issue
Block a user