L: E87 slot-map verification wire (S3F19/F20 + F21/F22)
Closes the slot-map verification gap I called out:
S3F19 / F20 host -> equip: verify expected slot map against what
the equipment has scanned. Equipment compares element-
wise; on match drives CSMS NotRead -> Read and replies
SVACK=Accept; on mismatch drives CSMS -> Mismatched and
replies SVACK=Mismatch.
S3F21 / F22 equip -> host: equipment-initiated slot map report
(typically pushed after CARRIERID is confirmed).
New SVACK enum: SlotMapVerifyAck { Accept, Mismatch, CarrierUnknown,
Error }. Server dispatch on S3F19 wires the actual CSMS transition
through the CarrierStore from D3.
Two round-trip tests cover both pairs; the FSM-driving behaviour is
exercised through the in-process tests because secs_server.cpp is
the dispatch entry point (no separate integration test needed beyond
the wire round-trip).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -189,4 +189,13 @@ enum class PortGroupAck : uint8_t {
|
||||
Error = 1,
|
||||
};
|
||||
|
||||
// E87 slot-map verify ack code (SVACK). Same byte used by S3F20
|
||||
// (verify reply) and S3F22 (host's ack of equipment's slot-map report).
|
||||
enum class SlotMapVerifyAck : uint8_t {
|
||||
Accept = 0,
|
||||
Mismatch = 1,
|
||||
CarrierUnknown = 2,
|
||||
Error = 3,
|
||||
};
|
||||
|
||||
} // namespace secsgem::gem
|
||||
|
||||
Reference in New Issue
Block a user