Closed Sean-Der closed 4 months ago
@hasheddan @at-wat Looking at the spec I believe FINISHED
can be simpler? If we see a handshake when in the FINISHED state do a RTX in case the remote lost the last message.
// [RFC6347 Section-4.2.4]
// +-----------+
// +---> | PREPARING | <--------------------+
// | +-----------+ |
// | | |
// | | Buffer next flight |
// | | |
// | \|/ |
// | +-----------+ |
// | | SENDING |<------------------+ | Send
// | +-----------+ | | HelloRequest
// Receive | | | |
// next | | Send flight | | or
// flight | +--------+ | |
// | | | Set retransmit timer | | Receive
// | | \|/ | | HelloRequest
// | | +-----------+ | | Send
// +--)--| WAITING |-------------------+ | ClientHello
// | | +-----------+ Timer expires | |
// | | | | |
// | | +------------------------+ |
// Receive | | Send Read retransmit |
// last | | last |
// flight | | flight |
// | | |
// \|/\|/ |
// +-----------+ |
// | FINISHED | -------------------------------+
// +-----------+
// | /|\
// | |
// +---+
// Read retransmit
// Retransmit last flight
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 80.08%. Comparing base (
602dc71
) to head (f356763
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@at-wat @hasheddan I’m gonna merge these tonight! I believe they will have zero impact
When FSM is in finished and sees a handshake message re-send the last flight again.