ForNeVeR / ForNeVeR/AvaloniaRider
Try using `AsynchronousSocketChannel`
Open
kind:enhancement
kind:refactoring
- Dominant language
- Kotlin
- Stars
- 583
- Forks
- 32
- Avg merge
- 2h 23m
- Merged PRs (30d)
- 1
Description
Currently, our socket code uses blocking read calls on a separate thread.
This could be migrated to `AsynchronousSocketChannel` that's `Future`-based, and that would allow to make the code better, use fewer resources (no thread stack), and also maybe even fix the issues like #84.
Contributor guide
Research direction
Start by locating the socket code and its blocking reads on a separate thread. Compare that implementation with Java's AsynchronousSocketChannel and its Future-based API, then verify that the migration reduces thread-stack use and investigate whether it affects the issues described in #84.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100