[iwyu] chttp2 (#29580)

* [iwyu] chttp2

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fwd file

* fix

* fix

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
pull/29600/head
Craig Tiller 3 years ago committed by GitHub
parent 92609abed0
commit c443e33cc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 52
      BUILD
  2. 10
      CMakeLists.txt
  3. 4
      build_autogenerated.yaml
  4. 3
      gRPC-C++.podspec
  5. 3
      gRPC-Core.podspec
  6. 1
      grpc.gemspec
  7. 2
      grpc.gyp
  8. 1
      package.xml
  9. 32
      src/core/ext/transport/chttp2/client/chttp2_connector.cc
  10. 8
      src/core/ext/transport/chttp2/client/chttp2_connector.h
  11. 39
      src/core/ext/transport/chttp2/server/chttp2_server.cc
  12. 2
      src/core/ext/transport/chttp2/server/chttp2_server.h
  13. 6
      src/core/ext/transport/chttp2/transport/bin_decoder.cc
  14. 2
      src/core/ext/transport/chttp2/transport/bin_decoder.h
  15. 1
      src/core/ext/transport/chttp2/transport/bin_encoder.cc
  16. 56
      src/core/ext/transport/chttp2/transport/chttp2_transport.cc
  17. 5
      src/core/ext/transport/chttp2/transport/chttp2_transport.h
  18. 4
      src/core/ext/transport/chttp2/transport/context_list.cc
  19. 4
      src/core/ext/transport/chttp2/transport/context_list.h
  20. 8
      src/core/ext/transport/chttp2/transport/flow_control.cc
  21. 6
      src/core/ext/transport/chttp2/transport/flow_control.h
  22. 8
      src/core/ext/transport/chttp2/transport/frame_data.cc
  23. 4
      src/core/ext/transport/chttp2/transport/frame_data.h
  24. 3
      src/core/ext/transport/chttp2/transport/frame_goaway.cc
  25. 3
      src/core/ext/transport/chttp2/transport/frame_goaway.h
  26. 5
      src/core/ext/transport/chttp2/transport/frame_ping.cc
  27. 3
      src/core/ext/transport/chttp2/transport/frame_ping.h
  28. 8
      src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
  29. 3
      src/core/ext/transport/chttp2/transport/frame_rst_stream.h
  30. 15
      src/core/ext/transport/chttp2/transport/frame_settings.cc
  31. 4
      src/core/ext/transport/chttp2/transport/frame_settings.h
  32. 5
      src/core/ext/transport/chttp2/transport/frame_window_update.cc
  33. 3
      src/core/ext/transport/chttp2/transport/frame_window_update.h
  34. 20
      src/core/ext/transport/chttp2/transport/hpack_encoder.cc
  35. 15
      src/core/ext/transport/chttp2/transport/hpack_encoder.h
  36. 3
      src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc
  37. 3
      src/core/ext/transport/chttp2/transport/hpack_encoder_table.h
  38. 30
      src/core/ext/transport/chttp2/transport/hpack_parser.cc
  39. 6
      src/core/ext/transport/chttp2/transport/hpack_parser.h
  40. 13
      src/core/ext/transport/chttp2/transport/hpack_parser_table.cc
  41. 5
      src/core/ext/transport/chttp2/transport/hpack_parser_table.h
  42. 22
      src/core/ext/transport/chttp2/transport/internal.h
  43. 33
      src/core/ext/transport/chttp2/transport/parsing.cc
  44. 6
      src/core/ext/transport/chttp2/transport/stream_lists.cc
  45. 2
      src/core/ext/transport/chttp2/transport/stream_map.cc
  46. 1
      src/core/ext/transport/chttp2/transport/stream_map.h
  47. 2
      src/core/ext/transport/chttp2/transport/varint.h
  48. 39
      src/core/ext/transport/chttp2/transport/writing.cc
  49. 13
      src/core/lib/channel/handshaker_factory.h
  50. 1
      src/core/lib/channel/handshaker_registry.h
  51. 25
      src/core/lib/iomgr/iomgr_fwd.h
  52. 3
      src/core/lib/iomgr/pollset_set.h
  53. 3
      src/core/lib/resolver/resolver_factory.h
  54. 1
      src/core/lib/transport/transport.h
  55. 1
      src/core/lib/transport/transport_impl.h
  56. 1
      tools/dockerfile/grpc_iwyu/iwyu.sh
  57. 1
      tools/doxygen/Doxyfile.c++.internal
  58. 1
      tools/doxygen/Doxyfile.core.internal

52
BUILD

@ -1466,6 +1466,7 @@ grpc_cc_library(
],
deps = [
"gpr_base",
"iomgr_fwd",
],
)
@ -1744,6 +1745,13 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "iomgr_fwd",
hdrs = [
"src/core/lib/iomgr/iomgr_fwd.h",
],
)
grpc_cc_library(
name = "grpc_sockaddr",
srcs = [
@ -2429,6 +2437,7 @@ grpc_cc_library(
deps = [
"gpr_base",
"grpc_service_config",
"iomgr_fwd",
"orphanable",
"server_address",
"uri_parser",
@ -4606,24 +4615,41 @@ grpc_cc_library(
"absl/memory",
"absl/status",
"absl/strings",
"absl/strings:cord",
"absl/strings:str_format",
"absl/types:optional",
"absl/types:span",
"absl/types:variant",
"absl/utility",
],
language = "c++",
visibility = ["@grpc:grpclb"],
deps = [
"arena",
"bitset",
"chunked_vector",
"debug_location",
"gpr_base",
"grpc_base",
"grpc_codegen",
"grpc_http_filters",
"grpc_resolver",
"grpc_trace",
"grpc_transport_chttp2_alpn",
"hpack_constants",
"hpack_encoder_table",
"httpcli",
"iomgr_fwd",
"memory_quota",
"orphanable",
"pid_controller",
"ref_counted",
"ref_counted_ptr",
"resource_quota",
"resource_quota_trace",
"slice",
"slice_refcount",
"time",
"uri_parser",
"useful",
],
@ -4652,16 +4678,28 @@ grpc_cc_library(
hdrs = [
"src/core/ext/transport/chttp2/client/chttp2_connector.h",
],
external_deps = [
"absl/status",
"absl/status:statusor",
],
language = "c++",
deps = [
"channel_args_preconditioning",
"channel_stack_type",
"config",
"debug_location",
"gpr_base",
"grpc_base",
"grpc_client_channel",
"grpc_codegen",
"grpc_insecure_credentials",
"grpc_resolver",
"grpc_security_base",
"grpc_trace",
"grpc_transport_chttp2",
"handshaker_registry",
"orphanable",
"resolved_address",
"slice",
"sockaddr_utils",
"uri_parser",
@ -4677,25 +4715,39 @@ grpc_cc_library(
"src/core/ext/transport/chttp2/server/chttp2_server.h",
],
external_deps = [
"absl/base:core_headers",
"absl/memory",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
],
language = "c++",
deps = [
"config",
"debug_location",
"gpr_base",
"grpc_base",
"grpc_codegen",
"grpc_http_filters",
"grpc_insecure_credentials",
"grpc_resolver",
"grpc_security_base",
"grpc_trace",
"grpc_transport_chttp2",
"handshaker_registry",
"iomgr_fwd",
"memory_quota",
"orphanable",
"ref_counted",
"ref_counted_ptr",
"resolved_address",
"resource_quota",
"slice",
"sockaddr_utils",
"time",
"uri_parser",
"useful",
],
)

10
CMakeLists.txt generated

@ -2309,6 +2309,7 @@ target_link_libraries(grpc
absl::bind_front
absl::hash
absl::statusor
absl::span
absl::variant
absl::utility
gpr
@ -2852,6 +2853,7 @@ target_link_libraries(grpc_unsecure
absl::bind_front
absl::hash
absl::statusor
absl::span
absl::variant
absl::utility
gpr
@ -19143,7 +19145,7 @@ generate_pkgconfig(
"gRPC"
"high performance general RPC framework"
"${gRPC_CORE_VERSION}"
"gpr openssl absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"gpr openssl absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz"
""
"grpc.pc")
@ -19153,7 +19155,7 @@ generate_pkgconfig(
"gRPC unsecure"
"high performance general RPC framework without SSL"
"${gRPC_CORE_VERSION}"
"gpr absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"gpr absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"-lgrpc_unsecure"
""
"grpc_unsecure.pc")
@ -19163,7 +19165,7 @@ generate_pkgconfig(
"gRPC++"
"C++ wrapper for gRPC"
"${gRPC_CPP_VERSION}"
"grpc absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"grpc absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"-lgrpc++"
""
"grpc++.pc")
@ -19173,7 +19175,7 @@ generate_pkgconfig(
"gRPC++ unsecure"
"C++ wrapper for gRPC without SSL"
"${gRPC_CPP_VERSION}"
"grpc_unsecure absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"grpc_unsecure absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_hash absl_inlined_vector absl_memory absl_optional absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_utility absl_variant"
"-lgrpc++_unsecure"
""
"grpc++_unsecure.pc")

@ -779,6 +779,7 @@ libs:
- src/core/lib/iomgr/internal_errqueue.h
- src/core/lib/iomgr/iocp_windows.h
- src/core/lib/iomgr/iomgr.h
- src/core/lib/iomgr/iomgr_fwd.h
- src/core/lib/iomgr/iomgr_internal.h
- src/core/lib/iomgr/load_file.h
- src/core/lib/iomgr/lockfree_event.h
@ -1646,6 +1647,7 @@ libs:
- absl/functional:bind_front
- absl/hash:hash
- absl/status:statusor
- absl/types:span
- absl/types:variant
- absl/utility:utility
- gpr
@ -1960,6 +1962,7 @@ libs:
- src/core/lib/iomgr/internal_errqueue.h
- src/core/lib/iomgr/iocp_windows.h
- src/core/lib/iomgr/iomgr.h
- src/core/lib/iomgr/iomgr_fwd.h
- src/core/lib/iomgr/iomgr_internal.h
- src/core/lib/iomgr/load_file.h
- src/core/lib/iomgr/lockfree_event.h
@ -2417,6 +2420,7 @@ libs:
- absl/functional:bind_front
- absl/hash:hash
- absl/status:statusor
- absl/types:span
- absl/types:variant
- absl/utility:utility
- gpr

3
gRPC-C++.podspec generated

@ -211,6 +211,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/synchronization/synchronization', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version
ss.dependency 'abseil/types/span', abseil_version
ss.dependency 'abseil/types/variant', abseil_version
ss.dependency 'abseil/utility/utility', abseil_version
@ -745,6 +746,7 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/internal_errqueue.h',
'src/core/lib/iomgr/iocp_windows.h',
'src/core/lib/iomgr/iomgr.h',
'src/core/lib/iomgr/iomgr_fwd.h',
'src/core/lib/iomgr/iomgr_internal.h',
'src/core/lib/iomgr/load_file.h',
'src/core/lib/iomgr/lockfree_event.h',
@ -1559,6 +1561,7 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/internal_errqueue.h',
'src/core/lib/iomgr/iocp_windows.h',
'src/core/lib/iomgr/iomgr.h',
'src/core/lib/iomgr/iomgr_fwd.h',
'src/core/lib/iomgr/iomgr_internal.h',
'src/core/lib/iomgr/load_file.h',
'src/core/lib/iomgr/lockfree_event.h',

3
gRPC-Core.podspec generated

@ -187,6 +187,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/synchronization/synchronization', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version
ss.dependency 'abseil/types/span', abseil_version
ss.dependency 'abseil/types/variant', abseil_version
ss.dependency 'abseil/utility/utility', abseil_version
ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32'
@ -1199,6 +1200,7 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/iocp_windows.h',
'src/core/lib/iomgr/iomgr.cc',
'src/core/lib/iomgr/iomgr.h',
'src/core/lib/iomgr/iomgr_fwd.h',
'src/core/lib/iomgr/iomgr_internal.cc',
'src/core/lib/iomgr/iomgr_internal.h',
'src/core/lib/iomgr/iomgr_posix.cc',
@ -2163,6 +2165,7 @@ Pod::Spec.new do |s|
'src/core/lib/iomgr/internal_errqueue.h',
'src/core/lib/iomgr/iocp_windows.h',
'src/core/lib/iomgr/iomgr.h',
'src/core/lib/iomgr/iomgr_fwd.h',
'src/core/lib/iomgr/iomgr_internal.h',
'src/core/lib/iomgr/load_file.h',
'src/core/lib/iomgr/lockfree_event.h',

1
grpc.gemspec generated

@ -1116,6 +1116,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/iomgr/iocp_windows.h )
s.files += %w( src/core/lib/iomgr/iomgr.cc )
s.files += %w( src/core/lib/iomgr/iomgr.h )
s.files += %w( src/core/lib/iomgr/iomgr_fwd.h )
s.files += %w( src/core/lib/iomgr/iomgr_internal.cc )
s.files += %w( src/core/lib/iomgr/iomgr_internal.h )
s.files += %w( src/core/lib/iomgr/iomgr_posix.cc )

2
grpc.gyp generated

@ -365,6 +365,7 @@
'absl/functional:bind_front',
'absl/hash:hash',
'absl/status:statusor',
'absl/types:span',
'absl/types:variant',
'absl/utility:utility',
'gpr',
@ -1115,6 +1116,7 @@
'absl/functional:bind_front',
'absl/hash:hash',
'absl/status:statusor',
'absl/types:span',
'absl/types:variant',
'absl/utility:utility',
'gpr',

1
package.xml generated

@ -1098,6 +1098,7 @@
<file baseinstalldir="/" name="src/core/lib/iomgr/iocp_windows.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_fwd.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_internal.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_posix.cc" role="src" />

@ -20,42 +20,58 @@
#include "src/core/ext/transport/chttp2/client/chttp2_connector.h"
#include <string.h>
#include <stdint.h>
#include <string>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include <grpc/grpc.h>
#include <grpc/grpc_posix.h>
#include <grpc/slice_buffer.h>
#include <grpc/grpc_security.h>
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/status.h>
#include <grpc/support/alloc.h>
#include <grpc/support/string_util.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/client_channel_factory.h"
#include "src/core/ext/filters/client_channel/connector.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_args_preconditioning.h"
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/channel/handshaker.h"
#include "src/core/lib/channel/handshaker_registry.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/iomgr/tcp_client.h"
#include "src/core/lib/resolver/resolver_registry.h"
#include "src/core/lib/resource_quota/api.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/insecure/insecure_credentials.h"
#include "src/core/lib/security/security_connector/security_connector.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/channel_stack_type.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"
#ifdef GPR_SUPPORT_CHANNELS_FROM_FD
#include <fcntl.h>
#include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/tcp_client_posix.h"
#include "src/core/lib/iomgr/tcp_posix.h"
#endif // GPR_SUPPORT_CHANNELS_FROM_FD

@ -21,9 +21,17 @@
#include <grpc/support/port_platform.h>
#include "absl/types/optional.h"
#include "src/core/ext/filters/client_channel/connector.h"
#include "src/core/lib/channel/handshaker.h"
#include "src/core/lib/channel/handshaker_registry.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/timer.h"
namespace grpc_core {

@ -24,11 +24,20 @@
#include <limits.h>
#include <string.h>
#include <algorithm>
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/strings/match.h"
#include "absl/base/thread_annotations.h"
#include "absl/memory/memory.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include <grpc/grpc.h>
@ -36,38 +45,52 @@
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
#include "src/core/ext/filters/http/server/http_server_filter.h"
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/channel/handshaker.h"
#include "src/core/lib/channel/handshaker_registry.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/iomgr/tcp_server.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/iomgr/unix_sockets_posix.h"
#include "src/core/lib/resource_quota/api.h"
#include "src/core/lib/resource_quota/memory_quota.h"
#include "src/core/lib/security/context/security_context.h"
#include "src/core/lib/resource_quota/resource_quota.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/insecure/insecure_credentials.h"
#include "src/core/lib/security/security_connector/security_connector.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/surface/server.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"
#ifdef GPR_SUPPORT_CHANNELS_FROM_FD
#include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/tcp_posix.h"
#include "src/core/lib/surface/completion_queue.h"
#endif // GPR_SUPPORT_CHANNELS_FROM_FD
namespace grpc_core {

@ -21,6 +21,8 @@
#include <grpc/support/port_platform.h>
#include <functional>
#include <grpc/impl/codegen/grpc_types.h>
#include "src/core/lib/iomgr/error.h"

@ -20,12 +20,12 @@
#include "src/core/ext/transport/chttp2/transport/bin_decoder.h"
#include "absl/base/attributes.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/slice/slice_refcount.h"
static uint8_t decode_table[] = {
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,

@ -22,6 +22,8 @@
#include <grpc/support/port_platform.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <grpc/slice.h>

@ -20,6 +20,7 @@
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
#include <stdint.h>
#include <string.h>
#include <grpc/support/log.h>

@ -20,43 +20,79 @@
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <memory>
#include <new>
#include <string>
#include <utility>
#include "absl/base/attributes.h"
#include "absl/status/status.h"
#include "absl/strings/cord.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include <grpc/impl/codegen/connectivity_state.h>
#include <grpc/slice_buffer.h>
#include <grpc/status.h>
#include <grpc/support/alloc.h>
#include <grpc/support/atm.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include "src/core/ext/transport/chttp2/transport/context_list.h"
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/frame_data.h"
#include "src/core/ext/transport/chttp2/transport/frame_goaway.h"
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/ext/transport/chttp2/transport/varint.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/gpr/env.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/bitset.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/global_config_env.h"
#include "src/core/lib/gprpp/global_config_generic.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/http/parser.h"
#include "src/core/lib/iomgr/executor.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/resource_quota/api.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/resource_quota/memory_quota.h"
#include "src/core/lib/resource_quota/resource_quota.h"
#include "src/core/lib/resource_quota/trace.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/transport/bdp_estimator.h"
#include "src/core/lib/transport/byte_stream.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/status_conversion.h"
#include "src/core/lib/transport/timeout_encoding.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/transport/transport_impl.h"
#include "src/core/lib/uri/uri_parser.h"
GPR_GLOBAL_CONFIG_DEFINE_BOOL(
grpc_experimental_disable_flow_control, false,

@ -21,8 +21,13 @@
#include <grpc/support/port_platform.h>
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/slice.h>
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/transport/transport.h"

@ -20,6 +20,10 @@
#include "src/core/ext/transport/chttp2/transport/context_list.h"
#include <stdint.h>
#include "src/core/ext/transport/chttp2/transport/internal.h"
namespace {
void (*write_timestamps_callback_g)(void*, grpc_core::Timestamps*,
grpc_error_handle error) = nullptr;

@ -21,8 +21,12 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/iomgr/buffer_list.h"
#include "src/core/lib/iomgr/error.h"
namespace grpc_core {
/** A list of RPC Contexts */

@ -22,18 +22,22 @@
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <string.h>
#include <cmath>
#include <string>
#include "absl/strings/str_format.h"
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/resource_quota/memory_quota.h"
grpc_core::TraceFlag grpc_flowctl_trace(false, "flowctl");

@ -22,10 +22,16 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <stdlib.h>
#include <algorithm>
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/bdp_estimator.h"
#include "src/core/lib/transport/pid_controller.h"

@ -22,15 +22,21 @@
#include <string.h>
#include "absl/base/attributes.h"
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_refcount.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/transport/transport.h"

@ -23,10 +23,14 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/byte_stream.h"
#include "src/core/lib/transport/transport.h"

@ -22,8 +22,11 @@
#include <string.h>
#include "absl/base/attributes.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include <grpc/slice_buffer.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>

@ -21,10 +21,13 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/lib/iomgr/error.h"
typedef enum {
GRPC_CHTTP2_GOAWAY_LSI0,

@ -22,12 +22,17 @@
#include <string.h>
#include <algorithm>
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/exec_ctx.h"
static bool g_disable_ping_ack = false;

@ -21,9 +21,12 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/lib/iomgr/error.h"
struct grpc_chttp2_ping_parser {
uint8_t byte;

@ -20,16 +20,20 @@
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include <stddef.h>
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
grpc_slice grpc_chttp2_rst_stream_create(uint32_t id, uint32_t code,
grpc_transport_one_way_stats* stats) {

@ -21,9 +21,12 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/transport.h"
struct grpc_chttp2_rst_stream_parser {

@ -22,16 +22,25 @@
#include <string.h>
#include <string>
#include "absl/base/attributes.h"
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/frame_goaway.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/iomgr/exec_ctx.h"
static uint8_t* fill_header(uint8_t* out, uint32_t length, uint8_t flags) {
*out++ = static_cast<uint8_t>(length >> 16);

@ -21,10 +21,14 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <stdint.h>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/lib/iomgr/error.h"
typedef enum {
GRPC_CHTTP2_SPS_ID0,

@ -20,13 +20,16 @@
#include "src/core/ext/transport/chttp2/transport/frame_window_update.h"
#include <stddef.h>
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/gprpp/manual_constructor.h"
grpc_slice grpc_chttp2_window_update_create(
uint32_t id, uint32_t window_delta, grpc_transport_one_way_stats* stats) {

@ -21,9 +21,12 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/transport.h"
struct grpc_chttp2_window_update_parser {

@ -20,27 +20,23 @@
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include <assert.h>
#include <string.h>
#include <algorithm>
#include <cstdint>
#include <memory>
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder_table.h"
#include "absl/utility/utility.h"
/* This is here for grpc_is_binary_header
* TODO(murgatroid99): Remove this
*/
#include <grpc/grpc.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder_table.h"
#include "src/core/ext/transport/chttp2/transport/varint.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/surface/validate_metadata.h"
#include "src/core/lib/transport/timeout_encoding.h"

@ -21,14 +21,29 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <cstdint>
#include <utility>
#include <vector>
#include "absl/strings/match.h"
#include "absl/strings/string_view.h"
#include <grpc/impl/codegen/compression_types.h>
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include <grpc/status.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder_table.h"
#include "src/core/lib/compression/compression_internal.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/timeout_encoding.h"
#include "src/core/lib/transport/transport.h"
extern grpc_core::TraceFlag grpc_http_trace;

@ -16,6 +16,9 @@
#include "src/core/ext/transport/chttp2/transport/hpack_encoder_table.h"
#include <algorithm>
#include <cstdint>
#include <grpc/support/log.h>
namespace grpc_core {

@ -17,6 +17,9 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <stdint.h>
#include "absl/container/inlined_vector.h"
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"

@ -21,24 +21,40 @@
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include <assert.h>
#include <inttypes.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <cstdint>
#include <string>
#include <utility>
#include "absl/base/attributes.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include <grpc/support/alloc.h>
#include <grpc/status.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/bin_encoder.h"
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/surface/validate_metadata.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_refcount_base.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/parsed_metadata.h"
#include "src/core/lib/transport/transport.h"
#if __cplusplus > 201103L
#define GRPC_HPACK_CONSTEXPR_FN constexpr

@ -22,9 +22,15 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <stdint.h>
#include <vector>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/metadata_batch.h"
namespace grpc_core {

@ -16,24 +16,27 @@
*
*/
// IWYU pragma: no_include <ext/alloc_traits.h>
#include <grpc/support/port_platform.h>
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include <cassert>
#include <stdlib.h>
#include <algorithm>
#include <cstddef>
#include <cstring>
#include <utility>
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/murmur_hash.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/surface/validate_metadata.h"
#include "src/core/lib/slice/slice.h"
extern grpc_core::TraceFlag grpc_http_trace;

@ -21,12 +21,17 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <vector>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/parsed_metadata.h"
namespace grpc_core {

@ -23,6 +23,16 @@
#include <assert.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <string>
#include "absl/strings/string_view.h"
#include <grpc/event_engine/memory_allocator.h>
#include <grpc/impl/codegen/grpc_types.h>
#include <grpc/slice.h>
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
@ -34,16 +44,28 @@
#include "src/core/ext/transport/chttp2/transport/frame_window_update.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/bitset.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/resource_quota/memory_quota.h"
#include "src/core/lib/transport/byte_stream.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/transport/transport_impl.h"
namespace grpc_core {

@ -18,21 +18,42 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <string.h>
#include <string>
#include "absl/base/attributes.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include <grpc/support/alloc.h>
#include <grpc/slice.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/frame_data.h"
#include "src/core/ext/transport/chttp2/transport/frame_goaway.h"
#include "src/core/ext/transport/chttp2/transport/frame_ping.h"
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/frame_settings.h"
#include "src/core/ext/transport/chttp2/transport/frame_window_update.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/bdp_estimator.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/status_conversion.h"
#include "src/core/lib/transport/timeout_encoding.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
using grpc_core::HPackParser;

@ -20,8 +20,12 @@
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/bitset.h"
#include "src/core/lib/gprpp/manual_constructor.h"
static const char* stream_list_id_string(grpc_chttp2_stream_list_id id) {
switch (id) {

@ -20,7 +20,7 @@
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include <string.h>
#include <stdlib.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>

@ -22,6 +22,7 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <stdint.h>
/* Data structure to map a uint32_t to a data object (represented by a void*)

@ -21,6 +21,8 @@
#include <grpc/support/port_platform.h>
#include <stdint.h>
/* Helpers for hpack varint encoding */
namespace grpc_core {

@ -18,17 +18,53 @@
#include <grpc/support/port_platform.h>
#include <limits.h>
#include <inttypes.h>
#include <stddef.h>
#include <algorithm>
#include <memory>
#include <string>
#include "absl/types/optional.h"
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/ext/transport/chttp2/transport/context_list.h"
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/frame_data.h"
#include "src/core/ext/transport/chttp2/transport/frame_ping.h"
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/frame_settings.h"
#include "src/core/ext/transport/chttp2/transport/frame_window_update.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/chunked_vector.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/gprpp/ref_counted.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/bdp_estimator.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
static void add_to_write_list(grpc_chttp2_write_cb** list,
grpc_chttp2_write_cb* cb) {
@ -226,7 +262,6 @@ static bool is_default_initial_metadata(grpc_metadata_batch* initial_metadata) {
}
namespace {
class StreamWriteContext;
class WriteContext {
public:

@ -23,15 +23,14 @@
#include <grpc/impl/codegen/grpc_types.h>
// A handshaker factory is used to create handshakers.
#include "src/core/lib/iomgr/iomgr_fwd.h"
// TODO(ctiller): grpc_pollset_set and HandshakeManager are forward declared in
// this file. grpc_pollset_set ought to be eliminated when EventEngine lands IO
// support. At the same time, we ought to be able to include handshake_manager.h
// here and eliminate the HandshakeManager dependency - we cannot right now
// because HandshakeManager names too many iomgr types.
// A handshaker factory is used to create handshakers.
typedef struct grpc_pollset_set grpc_pollset_set;
// TODO(ctiller): HandshakeManager is forward declared in this file. When
// EventEngine lands IO support we ought to be able to include
// handshake_manager.h here and eliminate the HandshakeManager dependency - we
// cannot right now because HandshakeManager names too many iomgr types.
namespace grpc_core {

@ -27,6 +27,7 @@
#include <grpc/impl/codegen/grpc_types.h>
#include "src/core/lib/channel/handshaker_factory.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
namespace grpc_core {

@ -0,0 +1,25 @@
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef GRPC_CORE_LIB_IOMGR_IOMGR_FWD_H
#define GRPC_CORE_LIB_IOMGR_IOMGR_FWD_H
// A bunch of forward declarations that are useful to higher level things that
// don't want to depend on all of iomgr.
#include <grpc/support/port_platform.h>
typedef struct grpc_pollset_set grpc_pollset_set;
#endif // GRPC_CORE_LIB_IOMGR_IOMGR_FWD_H

@ -21,6 +21,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset.h"
/* A grpc_pollset_set is a set of pollsets that are interested in an
@ -28,8 +29,6 @@
fd's (etc) that have been registered with the set_set to that pollset.
Registering fd's automatically adds them to all current pollsets. */
typedef struct grpc_pollset_set grpc_pollset_set;
typedef struct grpc_pollset_set_vtable {
grpc_pollset_set* (*create)(void);
void (*destroy)(grpc_pollset_set* pollset_set);

@ -25,11 +25,10 @@
#include "src/core/lib/gprpp/memory.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/resolver/resolver.h"
#include "src/core/lib/uri/uri_parser.h"
typedef struct grpc_pollset_set grpc_pollset_set;
namespace grpc_core {
// TODO(yashkt): Move WorkSerializer to its own Bazel target, depend on that

@ -47,6 +47,7 @@
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"

@ -27,6 +27,7 @@
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/promise/arena_promise.h"

@ -32,6 +32,7 @@ cd ${IWYU_ROOT}
cat compile_commands.json | sed "s,\"file\": \",\"file\": \"${IWYU_ROOT}/,g" > compile_commands_for_iwyu.json
export ENABLED_MODULES='
src/core/ext/transport/chttp2
src/core/lib/avl
src/core/lib/channel
src/core/lib/config

@ -2098,6 +2098,7 @@ src/core/lib/iomgr/iocp_windows.cc \
src/core/lib/iomgr/iocp_windows.h \
src/core/lib/iomgr/iomgr.cc \
src/core/lib/iomgr/iomgr.h \
src/core/lib/iomgr/iomgr_fwd.h \
src/core/lib/iomgr/iomgr_internal.cc \
src/core/lib/iomgr/iomgr_internal.h \
src/core/lib/iomgr/iomgr_posix.cc \

@ -1893,6 +1893,7 @@ src/core/lib/iomgr/iocp_windows.cc \
src/core/lib/iomgr/iocp_windows.h \
src/core/lib/iomgr/iomgr.cc \
src/core/lib/iomgr/iomgr.h \
src/core/lib/iomgr/iomgr_fwd.h \
src/core/lib/iomgr/iomgr_internal.cc \
src/core/lib/iomgr/iomgr_internal.h \
src/core/lib/iomgr/iomgr_posix.cc \

Loading…
Cancel
Save