Epic: EventMachine Network Migration #88
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Reference: aethyr/Aethyr#88
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Metadata
feat(server): migrate network layer to EventMachinefeature/eventmachine-migrationBackground and Context
The specification and CONTRIBUTING.md describe EventMachine as the target network
architecture. The current server main loop in
Server#initializeusesIO.selectwith raw socket multiplexing. EventMachine is already a gem dependency but is not
used for the main event loop. Completing this migration provides non-blocking I/O,
built-in timer management, and the reactor pattern the terminal UI depends on.
Expected Behavior
The server boots into an EventMachine reactor loop. Client connections are handled
via
EventMachine::Connectionsubclasses. Periodic tasks useEventMachine.add_periodic_timer.Acceptance Criteria
IO.selectloop replaced withEventMachine.runreactorPlayerConnectionported toEventMachine::ConnectionConcurrent::TimerTaskinstances replaced with EM timersSubtasks
Definition of Done
This Epic is complete when all child issues are closed and all acceptance criteria
are satisfied.