An open API service indexing awesome lists of open source software.

https://github.com/condy0919/bipolar

A nano concurrency library
https://github.com/condy0919/bipolar

async concurrency cpp cpp17 future iouring linux modern-cpp promise

Last synced: 12 months ago
JSON representation

A nano concurrency library

Awesome Lists containing this project

README

          

[![Build Status][circle-badge]][circle-link]
[![Build Status][github-ci-badge]][github-link]
[![Codacy Badge][codacy-badge]][codacy-link]
[![Codecov Badge][codecov-badge]][codecov-link]
[![MIT License][license-badge]](LICENSE)
[![Language][language-badge]][language-link]

# bipolar

`bipolar` is a nano library aimed at concurrency programming.

## Basic

- [core](bipolar/core/README.md)
- [io](bipolar/io/README.md)
- [sync](bipolar/sync/README.md)
- [futures](bipolar/futures/README.md)
- [net](bipolar/net/README.md)

## How to start

`bipolar` writes in C++17, a latest version of gcc/clang is recommended.

[bazel](https://github.com/bazelbuild/bazel/) is required to build and run tests/benchmarks/examples.

### Build

```
bazel build //...
```

### Test and benchmark

Actually tests and benchmarks are all `cc_test` except a `benchmark` tag.

All:

```
bazel test //...
```

Only tests:

```
bazel test //... --test_tag_filters=-benchmark,-example
```

Only benchmarks:

```
bazel test //... --test_tag_filters=benchmark
```

Only examples:

```
bazel test //... --test_tag_filters=example
```

### Coverage

```
bazel test //... --config=kcov
```

generates code coverage reports by [kcov][kcov-link].

Checks `bazel-kcov` directory for code coverage.

## FAQ

## Contributing

Interested in getting involved? We would love to help you! For simple
bug fixes, just submit a PR with the fix and we can discuss the fix
directly in the PR. If the fix is more complex, start with an issue.

[circle-badge]: https://circleci.com/gh/condy0919/bipolar.svg?style=shield
[circle-link]: https://circleci.com/gh/condy0919/bipolar
[github-ci-badge]: https://github.com/condy0919/bipolar/workflows/BIPOLAR%20CI/badge.svg
[github-link]: https://github.com/condy0919/bipolar
[codacy-badge]: https://api.codacy.com/project/badge/Grade/7c5e88ade2944d7ca1741d2b3e709f4f
[codacy-link]: https://www.codacy.com/manual/condy0919/bipolar?utm_source=github.com&utm_medium=referral&utm_content=condy0919/bipolar&utm_campaign=Badge_Grade
[codecov-badge]: https://codecov.io/gh/condy0919/bipolar/branch/master/graph/badge.svg
[codecov-link]: https://codecov.io/gh/condy0919/bipolar
[license-badge]: https://img.shields.io/badge/license-MIT-007EC7.svg
[language-badge]: https://img.shields.io/badge/Language-C%2B%2B17-blue.svg
[language-link]: https://en.cppreference.com/w/cpp/compiler_support
[kcov-link]: https://github.com/SimonKagstrom/kcov/