A C++ networking library providing client/server abstractions for building consistent, modular, and composable services.
Wangle is a C++ networking framework that provides abstractions for building network services, clients, and servers in a consistent and modular way. It simplifies protocol implementation, request/response handling, and asynchronous communication by offering reusable components like pipelines, services, and filters. The library addresses the complexity of low-level networking code, enabling developers to focus on application logic.
C++ developers building high-performance network services, protocols, or distributed systems who need robust client/server abstractions and asynchronous I/O handling.
Developers choose Wangle for its combination of Netty-like pipeline flexibility and Finagle-inspired service abstractions in C++, offering a comprehensive, asynchronous framework that reduces boilerplate and promotes composability for networking tasks.
Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inspired by Netty, it allows data to flow through customizable handlers for protocol processing, enabling flexible transformation and codec integration as shown in the Pipeline documentation.
ServerBootstrap and ClientBootstrap abstract thread pool management and socket connections, simplifying setup with support for SO_REUSEPORT and configurable IO threads, detailed in the ServerBootstrap section.
Provides Service and ServiceFilter interfaces inspired by Finagle for RPC-style communication, facilitating features like load balancing, retry logic, and timeouts through reusable filters.
Includes common handlers like AsyncSocketHandler and codecs for fixed-length or line-based protocols, reducing boilerplate for standard networking tasks, as listed in the Built-in handlers section.
Requires installation of folly, fizz, CMake, and OpenSSL, adding complexity to setup and potential version conflicts, as noted in the building instructions.
Some sections, such as ServiceFactoryFilters, have placeholder content (e.g., empty bullet points), indicating gaps in official guidance and examples.
Assumes familiarity with asynchronous programming models and concepts from Netty/Finagle, making it challenging for developers new to such frameworks without extensive prior knowledge.