You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
# Abseil in gRPC |
|
|
|
This document explains how to use Abseil throughout gRPC. Note that this isn't |
|
supposed to explain general usage of Abseil. |
|
|
|
## The version of Abseil |
|
|
|
gRPC intends to use the LTS versions of Abseil only because it simplifies |
|
dependency management. Abseil is being distributed via package distribution |
|
systems such as vcpkg and cocoapods. If gRPC depends on the certain version |
|
that aren't registered, gRPC in that system cannot get the right version of |
|
Abseil when being built, resulting in a build failure. |
|
Therefore, gRPC will use the LTS version only, preferably the latest one. |
|
|
|
## Libraries that are not ready to use |
|
|
|
Most of Abseil libraries are okay to use but there are some exceptions |
|
because they're not going well yet on some of our test machinaries or |
|
platforms it supports. The following is a list of targets that are NOT |
|
ready to use. |
|
|
|
- `absl/synchronization:*`: Blocked by b/186685878. |
|
- `absl/random`: [WIP](https://github.com/grpc/grpc/pull/23346). |
|
|
|
## Implemetation only |
|
|
|
You can use Abseil in gRPC Core and gRPC C++. But you cannot use it in |
|
the public interface of gRPC C++ because i) it doesn't gurantee no breaking |
|
API changes like gRPC C++ does and ii) it may make users change their build |
|
system to address Abseil. |
|
|