crossbario / crossbario/autobahn-python
ApplicationRunner in undefined state when opening handshake timeout is skipped
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.5k
- Forks
- 768
- PR merge metrics
- No merged PRs in 30d
Description
For testing purposes, I am trying to find out when a crossbar router is available and accepting connections.
When the router is not yet started the autobahn.asyncio.wamp.ApplicationSession throws a ConnectionRefusedError.
Once the router is ready a session is established as expected.
Now my problem: If the router is starting up while I try to connect I get the following log message from onOpenHandshakeTimeout():
skipping opening handshake timeout: WebSocket connection is already closed
Now the main loop runs apparently forever and nothing happens.
Is there any way for me to detect this situation? Is there a callback I should overwrite? I was not able to find one.
Contributor guide
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 with autobahn.asyncio.wamp.ApplicationSession and the onOpenHandshakeTimeout() path described in the issue, then trace what happens when the WebSocket connection is already closed during router startup. Done means the undefined state is reproducible and the issue's requested detection or callback behavior is clearly handled and verified.
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
- 30/100