mirror of https://github.com/grpc/grpc.git
parent
88c5842f3f
commit
f5b1557e59
2 changed files with 38 additions and 0 deletions
@ -0,0 +1,30 @@ |
||||
# 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 is inteded to use the LTS versions of Abseil only because it simplfies |
||||
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 wouldn't build or work. |
||||
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. Following is targets that are NOT ready to use. |
||||
|
||||
- `absl/synchronization:*`: This will be ready from the LTS version in 2021. |
||||
- `absl/random`: [WIP](https://github.com/grpc/grpc/pull/23346). |
||||
- `absl/types:variant`: [WIP](https://github.com/grpc/grpc/pull/22961). |
||||
|
||||
## 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. |
||||
|
Loading…
Reference in new issue