1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
<pkgmetadata>
<maintainer type="person">
<email>denis7774@gmail.com</email>
<name>Denis Reva</name>
<description>rarogcmex</description>
</maintainer>
<maintainer type="person">
<description>co-maintainers welcome</description>
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
Client / Server abstraction
You're probably familiar with Java's Netty, or Python's twisted, or similar libraries.
It is built on top of folly/async/io, so it's one level up the stack from that (or similar abstractions like boost::asio)
ServerBootstrap - easily manage creation of threadpools and pipelines
ClientBootstrap - the same for clients
Pipeline - set up a series of handlers that modify your socket data
Request / Response abstraction
This is roughly equivalent to the Finagle library.
Aims to provide easy testing, load balancing, client pooling, retry logic, etc. for any request/response type service - i.e. thrift, http, etc.
Service - a matched interface between client/server. A server will implement this interface, and a client will call in to it. These are protocol-specific
ServiceFilter - a generic filter on a service. Examples: stats, request timeouts, rate limiting
ServiceFactory - A factory that creates client connections. Any protocol specific setup code goes here
ServiceFactoryFilter - Generic filters that control how connections are created. Client examples: load balancing, pooling, idle timeouts, markdowns, etc.
ServerBootstrap
Easily create a new server
ServerBootstrap does the work to set up one or multiple acceptor threads, and one or multiple sets of IO threads. The thread pools can be the same. SO_REUSEPORT is automatically supported for multiple accept threads. tcp is most common, although udp is also supported.
</longdescription>
<upstream>
<bugs-to>https://github.com/facebook/wangle/issues</bugs-to>
<remote-id type="github">facebook/wangle</remote-id>
</upstream>
</pkgmetadata>
|