Source Code
package sample.redelivery |
Output
[Requester] requesting ("Ping!", 5da81190-5089-403b-9561-7147e3568fc0) to be sent to [Receiver]... |
解释
- requester 发送一个新消息Ping
- 初始状态Idle 处理 判断这次要ACK 切换状态
- uuid匹配所以match, 切换为Idle
- requester发送 一个新消息 Howdy
- idle下判断是否ack, 这次不去验证, 一定时间内没有收到ack验证消息则retry
- retry判断这次要ack,uuid匹配match 切换回idle
- 继续发新消息 Howdy
- idle下处理切换 等待状态,判断不走ack 就一直retry,在retry过程中,收到另一个新消息Hello
- 由于uuid不同,直接reject,之前的Howdy 仍然在retry 直到最后match