tree: acf1626ef55f051dc1fdb4b8c1320d00427a9bcd [path history] [tgz]
  1. atm.h
  2. atm_gcc_atomic.h
  3. atm_gcc_sync.h
  4. atm_windows.h
  5. byte_buffer.h
  6. byte_buffer_reader.h
  7. compression_types.h
  8. connectivity_state.h
  9. fork.h
  10. gpr_slice.h
  11. gpr_types.h
  12. grpc_types.h
  13. log.h
  14. port_platform.h
  15. propagation_bits.h
  16. README.md
  17. slice.h
  18. status.h
  19. sync.h
  20. sync_abseil.h
  21. sync_custom.h
  22. sync_generic.h
  23. sync_posix.h
  24. sync_windows.h
include/grpc/impl/codegen/README.md

Welcome to include/grpc/impl/codegen

Why is this directory here?

This directory exists so that generated C++ code can include selected files upon which it depends without having to depend on the entire gRPC C++ library. This directory thus exists to support include/grpcpp/impl/codegen. This constraint is particularly relevant for users of bazel, particularly if they use the multi-lingual proto_library target type. Generated code that uses this target only depends on the gRPC C++ targets associated with these header files, not the entire gRPC C++ codebase since that would make the build time of these types of targets excessively large (particularly when they are not even C++ specific).

What should user code do?

User code should not include anything from this directory. Only generated code and gRPC library code should include contents from this directory. C++ user code should instead include contents from the main grpcpp directory or its accessible subcomponents like grpcpp/support. It is possible that we may remove this directory altogether if the motivations for its existence are no longer strong enough (e.g., if the gRPC C++ library no longer has a need for an impl/codegen directory of its own).