MarketSquare / MarketSquare/Rammbock
Long timeout in receiving can prevent the background handling from other message streams
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 64
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Description
Receiving with timeout goes to a synchronized block. If the timeout is longer than the poll interval for background handlers, this can cause the other message streams to not get the lock during this time and they can not handle their background messages.
The receiving of protocol headers in MessageStream should be done so that other message streams either can operate at the same time, or can get the lock periodically.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the MessageStream implementation and the receiving path for protocol headers. Examine how the synchronized block holds the lock during a timeout and how background handlers use the poll interval. Done means other message streams can operate during a long receive or can periodically acquire the lock without losing background messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100