hiero-ledger / hiero-ledger/hiero-consensus-node

Componentize `ConnectionServer`

Open
#11,727 1 comment 0 reactions 0 assignees View on GitHub
Platform
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

- the class `ConnectionServer` should become a task scheduler component
- the component should be part of a separate model from the platform
- its output should be incoming sockets
- it should also constantly be called to listen for incoming connections with a timeout
- the bind IP should be removed and always default to `0.0.0.0`
- the port should be stored in the socket factory
- bind issues should be logged but rate limited

Contributor guide

Open the contributing guide

Research direction

Start by locating the ConnectionServer class and the socket factory, then trace how the platform currently schedules connection listening and handles bind failures. Review the surrounding task-scheduler and platform models before deciding how the component should expose incoming sockets. Done means the listed responsibilities are separated, the listen timeout and rate-limited bind logging work, and the port is owned by the socket factory.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
networking
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.