Repository navigation
Releases: Morolis/MoonNet
Releases · Morolis/MoonNet
Release list
v1.1.1
v1.1.0
- Release of MoonNetV1.1.0: This version introduces lock-free components such as the
ringbuff(lock-free circular buffer),lfthread(lock-free task thread), andlfthreadpool(lock-free thread pool). It also updates the project's coding standards and style, mandating that implementations of template functions be placed in .tpp files (visible in either include or src directories). - Core Features:
- Lock-free Circular Buffer (
ringbuff): Enhanced performance through memory alignment and capacity optimization using powers of two. It provides straightforward interfaces and multiple swap functions. - Lock-free Task Thread (
lfthread): Acts as a critical component for implementing thelfthreadpool, encapsulating the lock-free circular buffer (ringbuff) and thread instance, primarily serving thelfthreadpool. - Lock-free Thread Pool (
lfthreadpool): Based on an architecture where each thread has aringbuffas its task queue (encapsulated intolfthread), it achieves a lock-free thread pool. It offers static or dynamic modes, implements dynamic backoff strategies for thread sleeping adjustments, and policies for rejecting tasks when the queue is full.
- Lock-free Circular Buffer (
- Other Changes:
- The implementation of template functions for
threadpoolhas been isolated into .tpp files. - Provided implementation comments for each critical function interface to enhance understanding of the function's purpose, return values, and architecture.
- Modified the contents of the .clang-format file, updated the project's coding style, and reformatted all project source code according to the .clang-format style.
- The implementation of template functions for
v1.0.3
v1.0.2
v1.0.1
-
Updated the base_event API to unify operations across various event types.
-
Refactored the server event handling approach to standardize operations for different event types. Deprecated non-specialized event handling APIs (e.g., add_bev(bfevent* bev)) and adopted a general API such as addev(base_event* ev).
-
Updated copyright.
v1.0.0
- Initial Release: MoonNet network library first released, supporting TCP and UDP event handling based on a master-worker Reactor multithreaded model.
- Core Features:
- Implementation of event loops (
eventloop) and event handling (event). - Multithreading support through
loopthreadandlooptpoolmanaging multiple event loops. - TCP connection management with buffered event handling based on
bfevent. - UDP support via
udpeventfor data reception and transmission. - Timer event handling implemented through
timereventfor scheduled tasks. - Signal event handling using
signaleventto capture and process system signals. - Static/dynamic load balancing
- Implementation of event loops (
- Utility Classes:
- Buffer management (
buffer) for efficient data read/write operations. - Platform-independent socket operations encapsulation (
wrap).
- Buffer management (
- Server Framework:
serverclass integrating all components to simplify server setup process.