Fix type annotations and add missing logging in mplex and Quic#1137
Open
Jineshbansal wants to merge 2 commits intolibp2p:mainfrom
Open
Fix type annotations and add missing logging in mplex and Quic#1137Jineshbansal wants to merge 2 commits intolibp2p:mainfrom
Jineshbansal wants to merge 2 commits intolibp2p:mainfrom
Conversation
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1135
What was wrong?
Several TODOs in the codebase related to type safety and logging:
QUICErrorContext.__exit__had incorrect type hints -exc_typehad a duplicate| Noneandexc_tbwas typed asAnyinstead ofTracebackType | NoneMplex.send_messagehad return type-> intbut the underlyingwrite_to_stream()returnsNone, requiring a# type: ignoreto suppress the errorMissing logging for edge cases in mplex message handling:
How was it fixed?
TracebackTypeimport and corrected the__exit__signaturesend_messagereturn type to-> Noneand removed the unnecessaryreturnstatement (verified no callers use the return value)logger.warning()calls for all three edge cases with descriptive messagesTesting
mypypasses on modified filesrufflinting passes