Skip to content

Commit f92a29a

Browse files
committed
Initial commit
0 parents  commit f92a29a

File tree

3 files changed

+213
-0
lines changed

3 files changed

+213
-0
lines changed

index.html

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<!DOCTYPE html>
2+
<html lang="en-US">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=11">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Async++</title>
8+
<link href="style.css" rel="stylesheet" type="text/css">
9+
</head>
10+
<body>
11+
<div class="container">
12+
<img src="logo.svg" class="logo">
13+
<h1>Async++</h1>
14+
<h2>Building blocks for C++20 coroutines</h2>
15+
<p>The Async++ group of projects aims to provide an extensive set of libraries and wrappers for C++20's coroutines.</p>
16+
<p>It consists of a core library and wrappers for commonly used libraries.</p>
17+
<h3>Core library</h3>
18+
<p>
19+
The core library provides basic building blocks like task and generator types, a fiber implementation
20+
that supports interaction with coroutines, events, signals, mutex types, various concepts and interfaces. It also
21+
provides commonly required extensions like a timer and a dynamic thread pool implementation. In order to make usage easy
22+
it is entirely header only. It also supports custom allocators for most types and coroutines to allow usage in areas
23+
where memory allocation needs to be handled in a special way, like embedded or game applications.
24+
</p>
25+
<a href="/asyncpp">Documentation</a><br>
26+
<a href="https://github.com/asyncpp/asyncpp">Source code</a>
27+
28+
<h3>Curl Wrapper</h3>
29+
<p>
30+
<b>asyncpp-curl</b> is a c++ wrapper around the popular libcurl library. It makes the use of asynchronous network requests
31+
extremly easy by wrapping curl's multi interface and providing interoperability to coroutines. On top of that foundation
32+
it provides convenience wrappers for the most commonly used features like http requests. It also includes a fully compliant
33+
(based on the autobahn-ws test) Websocket client with support for permessage compression.
34+
</p>
35+
<a href="https://github.com/asyncpp/asyncpp-curl">Source code</a>
36+
37+
<h3>io_uring Wrapper</h3>
38+
<p>
39+
<b>asyncpp-uring</b> is a c++ wrapper around the linux specific io_uring library. It allows for super fast I/O without sacrificing
40+
readability of the code. It is designed as a low-level building block for performance critical applications that can afford
41+
being tied to a single operating system.
42+
</p>
43+
<a href="https://github.com/asyncpp/asyncpp-uring">Source code</a>
44+
45+
<h3>gRPC Wrapper</h3>
46+
<p>
47+
<b>asyncpp-grpc</b> is a helper library for gRPC. It wraps the asynchronous completion queue api and provides easy to use client
48+
interfaces to easily consume a remote service from coroutine code without blocking the thread. It also provides a server
49+
side task type to allow easily building fully asynchronous server methods.
50+
</p>
51+
<a href="https://github.com/asyncpp/asyncpp-uring">Source code</a>
52+
</div>
53+
</body>
54+
</html>

logo.svg

+80
Loading

style.css

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
html {
2+
--primary-color: #1779c4;
3+
--primary-dark-color: #335c80;
4+
--primary-light-color: #70b1e9;
5+
6+
--page-background-color: #ffffff;
7+
--page-foreground-color: #2f4153;
8+
--page-secondary-foreground-color: #6f7e8e;
9+
10+
--font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
11+
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
12+
--font-family-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo,
13+
Consolas, Liberation Mono, monospace;
14+
15+
--page-font-size: 15.6px;
16+
}
17+
18+
@media (prefers-color-scheme: dark) {
19+
html {
20+
--primary-color: #1982d2;
21+
--primary-dark-color: #86a9c4;
22+
--primary-light-color: #4779ac;
23+
24+
--page-background-color: #1c1d1f;
25+
--page-foreground-color: #d2dbde;
26+
--page-secondary-foreground-color: #859399;
27+
}
28+
}
29+
30+
31+
body, table, div, p, dl, #nav-tree .label, .title,
32+
.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,
33+
.SelectItem, #MSearchField, .navpath li.navelem a,
34+
.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3 {
35+
font-family: var(--font-family);
36+
}
37+
38+
p, div, table, dl {
39+
font-size: var(--page-font-size);
40+
text-align: justify;
41+
}
42+
43+
a:link, a:visited, a:hover, a:focus, a:active {
44+
color: var(--primary-color) !important;
45+
font-weight: 500;
46+
background: none;
47+
}
48+
49+
h1, h2, h3, h4, h5 {
50+
margin-top: 1em;
51+
font-weight: 600;
52+
line-height: initial;
53+
}
54+
55+
html {
56+
height: 100%;
57+
}
58+
59+
body {
60+
color: var(--page-foreground-color);
61+
background-color: var(--page-background-color);
62+
font-size: var(--page-font-size);
63+
margin: 0;
64+
padding:0;
65+
}
66+
67+
.container {
68+
max-width: 600px;
69+
margin-left: auto;
70+
margin-right: auto;
71+
padding: 2em;
72+
}
73+
74+
img.logo {
75+
margin: auto;
76+
width: 100%;
77+
max-width: 300px;
78+
display: block;
79+
}

0 commit comments

Comments
 (0)