Skip to content

Conversation

@quqiOnfree
Copy link
Owner

使用的时候发现丢包数量远多于实际数量,需要重构
重构ping以解决丢包数量错误的问题

同时重构async_ping函数为模板类,拆分代码块,让代码更易读和维护

@quqiOnfree quqiOnfree requested a review from GiriNeko January 19, 2026 14:01
@quqiOnfree quqiOnfree force-pushed the fix_ping branch 2 times, most recently from b28c7a6 to e5d0b4b Compare January 20, 2026 04:53
@quqiOnfree
Copy link
Owner Author

为了方便Reivew,现把改前和改后的逻辑进行对比:

改前逻辑

之前是顺序发送和读取,但是有的时候过了timeout时间依旧收到了包,这时就有两个包了,下一次接收的时候就是接收上一次的包,但是我没有写丢弃包的逻辑,就默认认为他这个包不对,直接返回了一个timeout,后面就顺延下来,后面的就全都丢了。

改后逻辑

现在写的这个逻辑是递归读取,如果读取到的sequence值小于当前值,直接丢弃重新读取,直到到现在这个sequence。

希望对review有帮助!

@GiriNeko GiriNeko merged commit 9eeb777 into master Jan 21, 2026
1 check passed
@GiriNeko
Copy link
Collaborator

感谢大佬

@quqiOnfree quqiOnfree deleted the fix_ping branch January 21, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants