xref: /aosp_15_r20/external/grpc-grpc/src/core/BUILD (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# Copyright 2022 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15load(
16    "//bazel:grpc_build_system.bzl",
17    "grpc_cc_library",
18    "grpc_generate_one_off_internal_targets",
19    "grpc_upb_proto_library",
20    "grpc_upb_proto_reflection_library",
21)
22
23licenses(["reciprocal"])
24
25package(
26    default_visibility = ["//:__subpackages__"],
27    features = [
28        "layering_check",
29    ],
30)
31
32# This is needed as a transitionary mechanism to build the src/core targets in
33# the top-level BUILD file that have not yet been moved here. Should go away
34# once the transition is complete.
35exports_files(
36    glob(
37        ["**"],
38        exclude = ["ext/transport/binder/java/**"],
39    ),
40    visibility = ["//:__subpackages__"],
41)
42
43grpc_cc_library(
44    name = "channel_fwd",
45    hdrs = [
46        "lib/channel/channel_fwd.h",
47    ],
48    language = "c++",
49)
50
51grpc_cc_library(
52    name = "slice_cast",
53    hdrs = [
54        "//:include/grpc/event_engine/internal/slice_cast.h",
55    ],
56)
57
58grpc_cc_library(
59    name = "event_engine_extensions",
60    hdrs = [
61        "lib/event_engine/extensions/can_track_errors.h",
62        "lib/event_engine/extensions/chaotic_good_extension.h",
63        "lib/event_engine/extensions/supports_fd.h",
64    ],
65    external_deps = [
66        "absl/status:statusor",
67        "absl/functional:any_invocable",
68        "absl/strings",
69    ],
70    deps = [
71        ":memory_quota",
72        "//:event_engine_base_hdrs",
73        "//:gpr_platform",
74    ],
75)
76
77grpc_cc_library(
78    name = "event_engine_common",
79    srcs = [
80        "lib/event_engine/event_engine.cc",
81        "lib/event_engine/resolved_address.cc",
82        "lib/event_engine/slice.cc",
83        "lib/event_engine/slice_buffer.cc",
84    ],
85    hdrs = [
86        "lib/event_engine/extensions/can_track_errors.h",
87        "lib/event_engine/handle_containers.h",
88        "lib/event_engine/resolved_address_internal.h",
89        "//:include/grpc/event_engine/slice.h",
90        "//:include/grpc/event_engine/slice_buffer.h",
91    ],
92    external_deps = [
93        "absl/container:flat_hash_set",
94        "absl/hash",
95        "absl/strings",
96        "absl/utility",
97    ],
98    deps = [
99        "resolved_address",
100        "slice",
101        "slice_buffer",
102        "slice_cast",
103        "slice_refcount",
104        "//:event_engine_base_hdrs",
105        "//:gpr",
106        "//:gpr_platform",
107    ],
108)
109
110grpc_cc_library(
111    name = "transport_fwd",
112    hdrs = [
113        "lib/transport/transport_fwd.h",
114    ],
115    language = "c++",
116)
117
118grpc_cc_library(
119    name = "server_call_tracer_filter",
120    srcs = [
121        "lib/channel/server_call_tracer_filter.cc",
122    ],
123    hdrs = [
124        "lib/channel/server_call_tracer_filter.h",
125    ],
126    external_deps = [
127        "absl/status",
128        "absl/status:statusor",
129    ],
130    language = "c++",
131    visibility = ["@grpc:alt_grpc_base_legacy"],
132    deps = [
133        "arena_promise",
134        "call_finalization",
135        "cancel_callback",
136        "channel_args",
137        "channel_fwd",
138        "channel_stack_type",
139        "context",
140        "map",
141        "pipe",
142        "//:call_tracer",
143        "//:config",
144        "//:gpr_platform",
145        "//:grpc_base",
146        "//:legacy_context",
147    ],
148)
149
150grpc_cc_library(
151    name = "atomic_utils",
152    language = "c++",
153    public_hdrs = ["lib/gprpp/atomic_utils.h"],
154    deps = ["//:gpr"],
155)
156
157grpc_cc_library(
158    name = "metadata_compression_traits",
159    hdrs = [
160        "lib/transport/metadata_compression_traits.h",
161    ],
162    deps = ["//:gpr_platform"],
163)
164
165grpc_cc_library(
166    name = "metadata_info",
167    srcs = ["lib/transport/metadata_info.cc"],
168    hdrs = ["lib/transport/metadata_info.h"],
169    deps = [
170        "channel_args",
171        "hpack_constants",
172        "metadata_batch",
173        "slice",
174        "//:call_tracer",
175        "//:gpr_platform",
176        "//:grpc_base",
177    ],
178)
179
180grpc_cc_library(
181    name = "experiments",
182    srcs = [
183        "lib/experiments/config.cc",
184        "lib/experiments/experiments.cc",
185    ],
186    hdrs = [
187        "lib/experiments/config.h",
188        "lib/experiments/experiments.h",
189    ],
190    defines = select(
191        {
192            "//:grpc_experiments_are_final": ["GRPC_EXPERIMENTS_ARE_FINAL"],
193            "//conditions:default": [],
194        },
195    ),
196    external_deps = [
197        "absl/functional:any_invocable",
198        "absl/strings",
199    ],
200    language = "c++",
201    tags = ["nofixdeps"],
202    visibility = ["@grpc:grpc_experiments"],
203    deps = [
204        "no_destruct",
205        "//:config_vars",
206        "//:gpr",
207    ],
208)
209
210grpc_cc_library(
211    name = "init_internally",
212    srcs = ["lib/surface/init_internally.cc"],
213    hdrs = ["lib/surface/init_internally.h"],
214    deps = ["//:gpr_platform"],
215)
216
217grpc_cc_library(
218    name = "useful",
219    hdrs = ["lib/gpr/useful.h"],
220    external_deps = [
221        "absl/strings",
222        "absl/types:variant",
223    ],
224    language = "c++",
225    visibility = ["@grpc:useful"],
226    deps = ["//:gpr_platform"],
227)
228
229grpc_cc_library(
230    name = "examine_stack",
231    srcs = [
232        "lib/gprpp/examine_stack.cc",
233    ],
234    hdrs = [
235        "lib/gprpp/examine_stack.h",
236    ],
237    external_deps = ["absl/types:optional"],
238    deps = ["//:gpr_platform"],
239)
240
241grpc_cc_library(
242    name = "gpr_atm",
243    srcs = [
244        "lib/gpr/atm.cc",
245    ],
246    language = "c++",
247    public_hdrs = [
248        "//:include/grpc/support/atm.h",
249        "//:include/grpc/support/atm_gcc_atomic.h",
250        "//:include/grpc/support/atm_gcc_sync.h",
251        "//:include/grpc/support/atm_windows.h",
252        "//:include/grpc/impl/codegen/atm.h",
253        "//:include/grpc/impl/codegen/atm_gcc_atomic.h",
254        "//:include/grpc/impl/codegen/atm_gcc_sync.h",
255        "//:include/grpc/impl/codegen/atm_windows.h",
256    ],
257    deps = [
258        "useful",
259        "//:gpr_platform",
260    ],
261)
262
263grpc_cc_library(
264    name = "gpr_manual_constructor",
265    srcs = [],
266    hdrs = [
267        "lib/gprpp/manual_constructor.h",
268    ],
269    language = "c++",
270    deps = [
271        "construct_destruct",
272        "//:gpr_platform",
273    ],
274)
275
276grpc_cc_library(
277    name = "gpr_spinlock",
278    srcs = [],
279    hdrs = [
280        "lib/gpr/spinlock.h",
281    ],
282    language = "c++",
283    deps = [
284        "gpr_atm",
285        "//:gpr_platform",
286    ],
287)
288
289grpc_cc_library(
290    name = "gpr_log_internal",
291    hdrs = [
292        "lib/gpr/log_internal.h",
293    ],
294    language = "c++",
295    deps = ["//:gpr_platform"],
296)
297
298grpc_cc_library(
299    name = "env",
300    srcs = [
301        "lib/gprpp/linux/env.cc",
302        "lib/gprpp/posix/env.cc",
303        "lib/gprpp/windows/env.cc",
304    ],
305    hdrs = [
306        "lib/gprpp/env.h",
307    ],
308    external_deps = ["absl/types:optional"],
309    deps = [
310        "tchar",
311        "//:gpr_platform",
312    ],
313)
314
315grpc_cc_library(
316    name = "directory_reader",
317    srcs = [
318        "lib/gprpp/posix/directory_reader.cc",
319        "lib/gprpp/windows/directory_reader.cc",
320    ],
321    hdrs = [
322        "lib/gprpp/directory_reader.h",
323    ],
324    external_deps = [
325        "absl/functional:function_ref",
326        "absl/status",
327        "absl/status:statusor",
328        "absl/strings",
329    ],
330    deps = [
331        "//:gpr",
332        "//:gpr_platform",
333    ],
334)
335
336grpc_cc_library(
337    name = "chunked_vector",
338    hdrs = ["lib/gprpp/chunked_vector.h"],
339    deps = [
340        "arena",
341        "gpr_manual_constructor",
342        "//:gpr",
343    ],
344)
345
346grpc_cc_library(
347    name = "construct_destruct",
348    language = "c++",
349    public_hdrs = ["lib/gprpp/construct_destruct.h"],
350    deps = ["//:gpr_platform"],
351)
352
353grpc_cc_library(
354    name = "status_helper",
355    srcs = [
356        "lib/gprpp/status_helper.cc",
357    ],
358    hdrs = [
359        "lib/gprpp/status_helper.h",
360    ],
361    external_deps = [
362        "absl/status",
363        "absl/strings",
364        "absl/strings:cord",
365        "absl/time",
366        "absl/types:optional",
367        "upb_base_lib",
368        "upb_mem_lib",
369    ],
370    language = "c++",
371    deps = [
372        "percent_encoding",
373        "slice",
374        "//:debug_location",
375        "//:google_rpc_status_upb",
376        "//:gpr",
377        "//:protobuf_any_upb",
378    ],
379)
380
381grpc_cc_library(
382    name = "unique_type_name",
383    hdrs = ["lib/gprpp/unique_type_name.h"],
384    external_deps = ["absl/strings"],
385    language = "c++",
386    deps = [
387        "useful",
388        "//:gpr_platform",
389    ],
390)
391
392grpc_cc_library(
393    name = "validation_errors",
394    srcs = [
395        "lib/gprpp/validation_errors.cc",
396    ],
397    hdrs = [
398        "lib/gprpp/validation_errors.h",
399    ],
400    external_deps = [
401        "absl/status",
402        "absl/strings",
403    ],
404    language = "c++",
405    deps = ["//:gpr_platform"],
406)
407
408grpc_cc_library(
409    name = "overload",
410    language = "c++",
411    public_hdrs = ["lib/gprpp/overload.h"],
412    deps = ["//:gpr_platform"],
413)
414
415grpc_cc_library(
416    name = "match",
417    external_deps = ["absl/types:variant"],
418    language = "c++",
419    public_hdrs = ["lib/gprpp/match.h"],
420    deps = [
421        "overload",
422        "//:gpr_platform",
423    ],
424)
425
426grpc_cc_library(
427    name = "table",
428    external_deps = [
429        "absl/meta:type_traits",
430        "absl/utility",
431    ],
432    language = "c++",
433    public_hdrs = ["lib/gprpp/table.h"],
434    deps = [
435        "bitset",
436        "//:gpr_platform",
437    ],
438)
439
440grpc_cc_library(
441    name = "packed_table",
442    hdrs = ["lib/gprpp/packed_table.h"],
443    language = "c++",
444    deps = [
445        "sorted_pack",
446        "table",
447        "//:gpr_platform",
448    ],
449)
450
451grpc_cc_library(
452    name = "bitset",
453    language = "c++",
454    public_hdrs = ["lib/gprpp/bitset.h"],
455    deps = [
456        "useful",
457        "//:gpr_platform",
458    ],
459)
460
461grpc_cc_library(
462    name = "no_destruct",
463    language = "c++",
464    public_hdrs = ["lib/gprpp/no_destruct.h"],
465    deps = [
466        "construct_destruct",
467        "//:gpr_platform",
468    ],
469)
470
471grpc_cc_library(
472    name = "tchar",
473    srcs = [
474        "lib/gprpp/tchar.cc",
475    ],
476    hdrs = [
477        "lib/gprpp/tchar.h",
478    ],
479    deps = ["//:gpr_platform"],
480)
481
482grpc_cc_library(
483    name = "poll",
484    language = "c++",
485    public_hdrs = [
486        "lib/promise/poll.h",
487    ],
488    deps = [
489        "construct_destruct",
490        "//:gpr",
491        "//:gpr_platform",
492    ],
493)
494
495grpc_cc_library(
496    name = "status_flag",
497    external_deps = [
498        "absl/status",
499        "absl/status:statusor",
500        "absl/types:optional",
501    ],
502    language = "c++",
503    public_hdrs = [
504        "lib/promise/status_flag.h",
505    ],
506    deps = [
507        "promise_status",
508        "//:gpr",
509        "//:gpr_platform",
510    ],
511)
512
513grpc_cc_library(
514    name = "map_pipe",
515    external_deps = ["absl/status"],
516    language = "c++",
517    public_hdrs = [
518        "lib/promise/map_pipe.h",
519    ],
520    deps = [
521        "for_each",
522        "map",
523        "pipe",
524        "poll",
525        "promise_factory",
526        "promise_trace",
527        "try_seq",
528        "//:gpr",
529        "//:gpr_platform",
530    ],
531)
532
533grpc_cc_library(
534    name = "1999",
535    srcs = [
536        "lib/promise/party.cc",
537    ],
538    hdrs = [
539        "lib/promise/party.h",
540    ],
541    external_deps = [
542        "absl/base:core_headers",
543        "absl/strings",
544        "absl/strings:str_format",
545    ],
546    language = "c++",
547    deps = [
548        "activity",
549        "arena",
550        "construct_destruct",
551        "context",
552        "poll",
553        "promise_factory",
554        "promise_trace",
555        "ref_counted",
556        "//:event_engine_base_hdrs",
557        "//:exec_ctx",
558        "//:gpr",
559        "//:ref_counted_ptr",
560    ],
561)
562
563grpc_cc_library(
564    name = "context",
565    external_deps = ["absl/meta:type_traits"],
566    language = "c++",
567    public_hdrs = [
568        "lib/promise/context.h",
569    ],
570    deps = [
571        "down_cast",
572        "//:gpr",
573    ],
574)
575
576grpc_cc_library(
577    name = "map",
578    language = "c++",
579    public_hdrs = ["lib/promise/map.h"],
580    deps = [
581        "poll",
582        "promise_like",
583        "//:gpr_platform",
584    ],
585)
586
587grpc_cc_library(
588    name = "sleep",
589    srcs = [
590        "lib/promise/sleep.cc",
591    ],
592    hdrs = [
593        "lib/promise/sleep.h",
594    ],
595    external_deps = ["absl/status"],
596    deps = [
597        "activity",
598        "context",
599        "event_engine_context",
600        "poll",
601        "time",
602        "//:event_engine_base_hdrs",
603        "//:exec_ctx",
604        "//:gpr",
605    ],
606)
607
608grpc_cc_library(
609    name = "wait_for_callback",
610    hdrs = [
611        "lib/promise/wait_for_callback.h",
612    ],
613    external_deps = ["absl/base:core_headers"],
614    deps = [
615        "activity",
616        "poll",
617        "//:gpr",
618    ],
619)
620
621grpc_cc_library(
622    name = "arena_promise",
623    external_deps = ["absl/meta:type_traits"],
624    language = "c++",
625    public_hdrs = [
626        "lib/promise/arena_promise.h",
627    ],
628    deps = [
629        "arena",
630        "construct_destruct",
631        "context",
632        "poll",
633        "//:gpr_platform",
634    ],
635)
636
637grpc_cc_library(
638    name = "promise_like",
639    external_deps = ["absl/meta:type_traits"],
640    language = "c++",
641    public_hdrs = [
642        "lib/promise/detail/promise_like.h",
643    ],
644    deps = [
645        "poll",
646        "//:gpr_platform",
647    ],
648)
649
650grpc_cc_library(
651    name = "cancel_callback",
652    language = "c++",
653    public_hdrs = [
654        "lib/promise/cancel_callback.h",
655    ],
656    deps = [
657        "promise_like",
658        "//:gpr_platform",
659    ],
660)
661
662grpc_cc_library(
663    name = "promise_factory",
664    external_deps = ["absl/meta:type_traits"],
665    language = "c++",
666    public_hdrs = [
667        "lib/promise/detail/promise_factory.h",
668    ],
669    deps = [
670        "promise_like",
671        "//:gpr_platform",
672    ],
673)
674
675grpc_cc_library(
676    name = "if",
677    external_deps = [
678        "absl/status:statusor",
679        "absl/types:variant",
680    ],
681    language = "c++",
682    public_hdrs = ["lib/promise/if.h"],
683    deps = [
684        "construct_destruct",
685        "poll",
686        "promise_factory",
687        "promise_like",
688        "//:gpr_platform",
689    ],
690)
691
692grpc_cc_library(
693    name = "switch",
694    language = "c++",
695    public_hdrs = ["lib/promise/switch.h"],
696    deps = [
697        "if",
698        "promise_factory",
699        "//:gpr_platform",
700    ],
701)
702
703grpc_cc_library(
704    name = "promise_status",
705    external_deps = [
706        "absl/status",
707        "absl/status:statusor",
708    ],
709    language = "c++",
710    public_hdrs = [
711        "lib/promise/detail/status.h",
712    ],
713    deps = ["//:gpr_platform"],
714)
715
716grpc_cc_library(
717    name = "race",
718    language = "c++",
719    public_hdrs = ["lib/promise/race.h"],
720    deps = ["//:gpr_platform"],
721)
722
723grpc_cc_library(
724    name = "prioritized_race",
725    language = "c++",
726    public_hdrs = ["lib/promise/prioritized_race.h"],
727    deps = ["//:gpr_platform"],
728)
729
730grpc_cc_library(
731    name = "loop",
732    external_deps = [
733        "absl/status",
734        "absl/status:statusor",
735        "absl/types:variant",
736    ],
737    language = "c++",
738    public_hdrs = [
739        "lib/promise/loop.h",
740    ],
741    deps = [
742        "construct_destruct",
743        "poll",
744        "promise_factory",
745        "//:gpr_platform",
746    ],
747)
748
749grpc_cc_library(
750    name = "join_state",
751    language = "c++",
752    public_hdrs = [
753        "lib/promise/detail/join_state.h",
754    ],
755    deps = [
756        "bitset",
757        "construct_destruct",
758        "poll",
759        "promise_like",
760        "promise_trace",
761        "//:gpr",
762        "//:gpr_platform",
763    ],
764)
765
766grpc_cc_library(
767    name = "join",
768    external_deps = ["absl/meta:type_traits"],
769    language = "c++",
770    public_hdrs = [
771        "lib/promise/join.h",
772    ],
773    deps = [
774        "join_state",
775        "map",
776        "//:gpr_platform",
777    ],
778)
779
780grpc_cc_library(
781    name = "try_join",
782    external_deps = [
783        "absl/meta:type_traits",
784        "absl/status",
785        "absl/status:statusor",
786    ],
787    language = "c++",
788    public_hdrs = [
789        "lib/promise/try_join.h",
790    ],
791    deps = [
792        "join_state",
793        "map",
794        "poll",
795        "status_flag",
796        "//:gpr_platform",
797    ],
798)
799
800grpc_cc_library(
801    name = "all_ok",
802    external_deps = [
803        "absl/meta:type_traits",
804        "absl/status",
805        "absl/status:statusor",
806    ],
807    language = "c++",
808    public_hdrs = [
809        "lib/promise/all_ok.h",
810    ],
811    deps = [
812        "join_state",
813        "map",
814        "poll",
815        "status_flag",
816        "//:gpr_platform",
817    ],
818)
819
820grpc_cc_library(
821    name = "basic_seq",
822    language = "c++",
823    public_hdrs = [
824        "lib/promise/detail/basic_seq.h",
825    ],
826    deps = [
827        "construct_destruct",
828        "poll",
829        "//:gpr_platform",
830    ],
831)
832
833grpc_cc_library(
834    name = "seq_state",
835    external_deps = [
836        "absl/base:core_headers",
837        "absl/strings",
838    ],
839    language = "c++",
840    public_hdrs = [
841        "lib/promise/detail/seq_state.h",
842    ],
843    deps = [
844        "construct_destruct",
845        "poll",
846        "promise_factory",
847        "promise_like",
848        "promise_trace",
849        "//:debug_location",
850        "//:gpr",
851    ],
852)
853
854grpc_cc_library(
855    name = "seq",
856    language = "c++",
857    public_hdrs = [
858        "lib/promise/seq.h",
859    ],
860    deps = [
861        "basic_seq",
862        "poll",
863        "promise_like",
864        "seq_state",
865        "//:debug_location",
866        "//:gpr_platform",
867    ],
868)
869
870grpc_cc_library(
871    name = "try_seq",
872    external_deps = [
873        "absl/meta:type_traits",
874        "absl/status",
875        "absl/status:statusor",
876    ],
877    language = "c++",
878    public_hdrs = [
879        "lib/promise/try_seq.h",
880    ],
881    deps = [
882        "basic_seq",
883        "poll",
884        "promise_like",
885        "promise_status",
886        "seq_state",
887        "status_flag",
888        "//:debug_location",
889        "//:gpr_platform",
890    ],
891)
892
893grpc_cc_library(
894    name = "activity",
895    srcs = [
896        "lib/promise/activity.cc",
897    ],
898    external_deps = [
899        "absl/base:core_headers",
900        "absl/status",
901        "absl/strings",
902        "absl/strings:str_format",
903        "absl/types:optional",
904    ],
905    language = "c++",
906    public_hdrs = [
907        "lib/promise/activity.h",
908    ],
909    deps = [
910        "atomic_utils",
911        "construct_destruct",
912        "context",
913        "event_engine_context",
914        "no_destruct",
915        "poll",
916        "promise_factory",
917        "promise_status",
918        "//:gpr",
919        "//:orphanable",
920    ],
921)
922
923grpc_cc_library(
924    name = "exec_ctx_wakeup_scheduler",
925    hdrs = [
926        "lib/promise/exec_ctx_wakeup_scheduler.h",
927    ],
928    external_deps = ["absl/status"],
929    language = "c++",
930    deps = [
931        "closure",
932        "error",
933        "//:debug_location",
934        "//:exec_ctx",
935        "//:gpr_platform",
936    ],
937)
938
939grpc_cc_library(
940    name = "event_engine_wakeup_scheduler",
941    hdrs = [
942        "lib/promise/event_engine_wakeup_scheduler.h",
943    ],
944    language = "c++",
945    deps = [
946        "//:event_engine_base_hdrs",
947        "//:exec_ctx",
948        "//:gpr_platform",
949    ],
950)
951
952grpc_cc_library(
953    name = "wait_set",
954    external_deps = [
955        "absl/container:flat_hash_set",
956        "absl/hash",
957    ],
958    language = "c++",
959    public_hdrs = [
960        "lib/promise/wait_set.h",
961    ],
962    deps = [
963        "activity",
964        "poll",
965        "//:gpr_platform",
966    ],
967)
968
969grpc_cc_library(
970    name = "latch",
971    external_deps = ["absl/strings"],
972    language = "c++",
973    public_hdrs = [
974        "lib/promise/latch.h",
975    ],
976    deps = [
977        "activity",
978        "poll",
979        "promise_trace",
980        "//:gpr",
981    ],
982)
983
984grpc_cc_library(
985    name = "inter_activity_latch",
986    external_deps = [
987        "absl/base:core_headers",
988        "absl/strings",
989    ],
990    language = "c++",
991    public_hdrs = [
992        "lib/promise/inter_activity_latch.h",
993    ],
994    deps = [
995        "activity",
996        "poll",
997        "promise_trace",
998        "wait_set",
999        "//:gpr",
1000    ],
1001)
1002
1003grpc_cc_library(
1004    name = "interceptor_list",
1005    hdrs = [
1006        "lib/promise/interceptor_list.h",
1007    ],
1008    external_deps = [
1009        "absl/strings",
1010        "absl/strings:str_format",
1011        "absl/types:optional",
1012    ],
1013    deps = [
1014        "arena",
1015        "construct_destruct",
1016        "context",
1017        "poll",
1018        "promise_factory",
1019        "promise_trace",
1020        "//:debug_location",
1021        "//:gpr",
1022    ],
1023)
1024
1025grpc_cc_library(
1026    name = "pipe",
1027    hdrs = [
1028        "lib/promise/pipe.h",
1029    ],
1030    external_deps = [
1031        "absl/strings",
1032        "absl/types:optional",
1033        "absl/types:variant",
1034    ],
1035    language = "c++",
1036    deps = [
1037        "activity",
1038        "arena",
1039        "context",
1040        "if",
1041        "interceptor_list",
1042        "map",
1043        "poll",
1044        "promise_trace",
1045        "seq",
1046        "//:debug_location",
1047        "//:gpr",
1048        "//:ref_counted_ptr",
1049    ],
1050)
1051
1052grpc_cc_library(
1053    name = "promise_mutex",
1054    hdrs = [
1055        "lib/promise/promise_mutex.h",
1056    ],
1057    language = "c++",
1058    deps = [
1059        "activity",
1060        "poll",
1061        "//:gpr",
1062    ],
1063)
1064
1065grpc_cc_library(
1066    name = "inter_activity_pipe",
1067    hdrs = [
1068        "lib/promise/inter_activity_pipe.h",
1069    ],
1070    external_deps = [
1071        "absl/base:core_headers",
1072        "absl/types:optional",
1073    ],
1074    language = "c++",
1075    deps = [
1076        "activity",
1077        "poll",
1078        "ref_counted",
1079        "//:gpr",
1080        "//:ref_counted_ptr",
1081    ],
1082)
1083
1084grpc_cc_library(
1085    name = "promise_trace",
1086    srcs = [
1087        "lib/promise/trace.cc",
1088    ],
1089    hdrs = [
1090        "lib/promise/trace.h",
1091    ],
1092    language = "c++",
1093    deps = [
1094        "//:gpr_platform",
1095        "//:grpc_trace",
1096    ],
1097)
1098
1099grpc_cc_library(
1100    name = "mpsc",
1101    hdrs = [
1102        "lib/promise/mpsc.h",
1103    ],
1104    external_deps = ["absl/base:core_headers"],
1105    language = "c++",
1106    deps = [
1107        "activity",
1108        "poll",
1109        "ref_counted",
1110        "wait_set",
1111        "//:gpr",
1112        "//:ref_counted_ptr",
1113    ],
1114)
1115
1116grpc_cc_library(
1117    name = "observable",
1118    hdrs = [
1119        "lib/promise/observable.h",
1120    ],
1121    external_deps = [
1122        "absl/container:flat_hash_set",
1123        "absl/functional:any_invocable",
1124    ],
1125    language = "c++",
1126    deps = [
1127        "activity",
1128        "poll",
1129        "//:gpr",
1130    ],
1131)
1132
1133grpc_cc_library(
1134    name = "for_each",
1135    external_deps = [
1136        "absl/status",
1137        "absl/strings",
1138    ],
1139    language = "c++",
1140    public_hdrs = ["lib/promise/for_each.h"],
1141    deps = [
1142        "activity",
1143        "construct_destruct",
1144        "poll",
1145        "promise_factory",
1146        "promise_status",
1147        "promise_trace",
1148        "status_flag",
1149        "//:gpr",
1150        "//:gpr_platform",
1151    ],
1152)
1153
1154grpc_cc_library(
1155    name = "ref_counted",
1156    language = "c++",
1157    public_hdrs = ["lib/gprpp/ref_counted.h"],
1158    deps = [
1159        "atomic_utils",
1160        "down_cast",
1161        "//:debug_location",
1162        "//:gpr",
1163        "//:ref_counted_ptr",
1164    ],
1165)
1166
1167grpc_cc_library(
1168    name = "dual_ref_counted",
1169    language = "c++",
1170    public_hdrs = ["lib/gprpp/dual_ref_counted.h"],
1171    deps = [
1172        "down_cast",
1173        "//:debug_location",
1174        "//:gpr",
1175        "//:orphanable",
1176        "//:ref_counted_ptr",
1177    ],
1178)
1179
1180grpc_cc_library(
1181    name = "ref_counted_string",
1182    srcs = [
1183        "lib/gprpp/ref_counted_string.cc",
1184    ],
1185    hdrs = [
1186        "lib/gprpp/ref_counted_string.h",
1187    ],
1188    external_deps = ["absl/strings"],
1189    language = "c++",
1190    deps = [
1191        "ref_counted",
1192        "//:gpr",
1193        "//:ref_counted_ptr",
1194    ],
1195)
1196
1197grpc_cc_library(
1198    name = "uuid_v4",
1199    srcs = ["lib/gprpp/uuid_v4.cc"],
1200    external_deps = ["absl/strings:str_format"],
1201    language = "c++",
1202    public_hdrs = ["lib/gprpp/uuid_v4.h"],
1203    deps = ["//:gpr"],
1204)
1205
1206grpc_cc_library(
1207    name = "handshaker_factory",
1208    language = "c++",
1209    public_hdrs = [
1210        "lib/transport/handshaker_factory.h",
1211    ],
1212    visibility = ["@grpc:alt_grpc_base_legacy"],
1213    deps = [
1214        "channel_args",
1215        "iomgr_fwd",
1216        "//:gpr_platform",
1217    ],
1218)
1219
1220grpc_cc_library(
1221    name = "handshaker_registry",
1222    srcs = [
1223        "lib/transport/handshaker_registry.cc",
1224    ],
1225    language = "c++",
1226    public_hdrs = [
1227        "lib/transport/handshaker_registry.h",
1228    ],
1229    visibility = ["@grpc:alt_grpc_base_legacy"],
1230    deps = [
1231        "channel_args",
1232        "handshaker_factory",
1233        "iomgr_fwd",
1234        "//:gpr_platform",
1235    ],
1236)
1237
1238grpc_cc_library(
1239    name = "tcp_connect_handshaker",
1240    srcs = [
1241        "lib/transport/tcp_connect_handshaker.cc",
1242    ],
1243    external_deps = [
1244        "absl/base:core_headers",
1245        "absl/status",
1246        "absl/status:statusor",
1247        "absl/types:optional",
1248    ],
1249    language = "c++",
1250    public_hdrs = [
1251        "lib/transport/tcp_connect_handshaker.h",
1252    ],
1253    deps = [
1254        "channel_args",
1255        "channel_args_endpoint_config",
1256        "closure",
1257        "error",
1258        "handshaker_factory",
1259        "handshaker_registry",
1260        "iomgr_fwd",
1261        "pollset_set",
1262        "resolved_address",
1263        "slice",
1264        "//:config",
1265        "//:debug_location",
1266        "//:exec_ctx",
1267        "//:gpr",
1268        "//:grpc_base",
1269        "//:handshaker",
1270        "//:iomgr",
1271        "//:parse_address",
1272        "//:ref_counted_ptr",
1273        "//:uri_parser",
1274    ],
1275)
1276
1277grpc_cc_library(
1278    name = "endpoint_info_handshaker",
1279    srcs = [
1280        "lib/transport/endpoint_info_handshaker.cc",
1281    ],
1282    hdrs = [
1283        "lib/transport/endpoint_info_handshaker.h",
1284    ],
1285    external_deps = [
1286        "absl/status",
1287    ],
1288    language = "c++",
1289    deps = [
1290        "channel_args",
1291        "closure",
1292        "handshaker_factory",
1293        "handshaker_registry",
1294        "//:config",
1295        "//:debug_location",
1296        "//:exec_ctx",
1297        "//:gpr",
1298        "//:handshaker",
1299        "//:iomgr",
1300        "//:ref_counted_ptr",
1301    ],
1302)
1303
1304grpc_cc_library(
1305    name = "channel_creds_registry",
1306    hdrs = [
1307        "lib/security/credentials/channel_creds_registry.h",
1308    ],
1309    external_deps = ["absl/strings"],
1310    language = "c++",
1311    deps = [
1312        "json",
1313        "json_args",
1314        "ref_counted",
1315        "validation_errors",
1316        "//:gpr_platform",
1317        "//:ref_counted_ptr",
1318    ],
1319)
1320
1321grpc_cc_library(
1322    name = "event_engine_memory_allocator",
1323    hdrs = [
1324        "//:include/grpc/event_engine/internal/memory_allocator_impl.h",
1325        "//:include/grpc/event_engine/memory_allocator.h",
1326        "//:include/grpc/event_engine/memory_request.h",
1327    ],
1328    external_deps = ["absl/strings"],
1329    language = "c++",
1330    deps = [
1331        "slice",
1332        "//:gpr_platform",
1333    ],
1334)
1335
1336grpc_cc_library(
1337    name = "event_engine_memory_allocator_factory",
1338    hdrs = [
1339        "lib/event_engine/memory_allocator_factory.h",
1340    ],
1341    external_deps = ["absl/strings"],
1342    language = "c++",
1343    deps = [
1344        "event_engine_memory_allocator",
1345        "memory_quota",
1346        "//:gpr_platform",
1347    ],
1348)
1349
1350grpc_cc_library(
1351    name = "memory_quota",
1352    srcs = [
1353        "lib/resource_quota/memory_quota.cc",
1354    ],
1355    hdrs = [
1356        "lib/resource_quota/memory_quota.h",
1357    ],
1358    external_deps = [
1359        "absl/base:core_headers",
1360        "absl/container:flat_hash_set",
1361        "absl/status",
1362        "absl/strings",
1363        "absl/types:optional",
1364    ],
1365    deps = [
1366        "activity",
1367        "event_engine_memory_allocator",
1368        "exec_ctx_wakeup_scheduler",
1369        "experiments",
1370        "loop",
1371        "map",
1372        "periodic_update",
1373        "poll",
1374        "race",
1375        "resource_quota_trace",
1376        "seq",
1377        "slice_refcount",
1378        "time",
1379        "useful",
1380        "//:gpr",
1381        "//:grpc_trace",
1382        "//:orphanable",
1383        "//:ref_counted_ptr",
1384    ],
1385)
1386
1387grpc_cc_library(
1388    name = "periodic_update",
1389    srcs = [
1390        "lib/resource_quota/periodic_update.cc",
1391    ],
1392    hdrs = [
1393        "lib/resource_quota/periodic_update.h",
1394    ],
1395    external_deps = ["absl/functional:function_ref"],
1396    deps = [
1397        "time",
1398        "useful",
1399        "//:gpr_platform",
1400    ],
1401)
1402
1403grpc_cc_library(
1404    name = "arena",
1405    srcs = [
1406        "lib/resource_quota/arena.cc",
1407    ],
1408    hdrs = [
1409        "lib/resource_quota/arena.h",
1410    ],
1411    visibility = [
1412        "@grpc:alt_grpc_base_legacy",
1413    ],
1414    deps = [
1415        "construct_destruct",
1416        "context",
1417        "event_engine_memory_allocator",
1418        "memory_quota",
1419        "//:gpr",
1420    ],
1421)
1422
1423grpc_cc_library(
1424    name = "thread_quota",
1425    srcs = [
1426        "lib/resource_quota/thread_quota.cc",
1427    ],
1428    hdrs = [
1429        "lib/resource_quota/thread_quota.h",
1430    ],
1431    external_deps = ["absl/base:core_headers"],
1432    deps = [
1433        "ref_counted",
1434        "//:gpr",
1435        "//:ref_counted_ptr",
1436    ],
1437)
1438
1439grpc_cc_library(
1440    name = "connection_quota",
1441    srcs = [
1442        "lib/resource_quota/connection_quota.cc",
1443    ],
1444    hdrs = [
1445        "lib/resource_quota/connection_quota.h",
1446    ],
1447    external_deps = ["absl/base:core_headers"],
1448    deps = [
1449        "memory_quota",
1450        "ref_counted",
1451        "//:gpr",
1452        "//:ref_counted_ptr",
1453    ],
1454)
1455
1456grpc_cc_library(
1457    name = "resource_quota_trace",
1458    srcs = [
1459        "lib/resource_quota/trace.cc",
1460    ],
1461    hdrs = [
1462        "lib/resource_quota/trace.h",
1463    ],
1464    deps = [
1465        "//:gpr_platform",
1466        "//:grpc_trace",
1467    ],
1468)
1469
1470grpc_cc_library(
1471    name = "resource_quota",
1472    srcs = [
1473        "lib/resource_quota/resource_quota.cc",
1474    ],
1475    hdrs = [
1476        "lib/resource_quota/resource_quota.h",
1477    ],
1478    external_deps = ["absl/strings"],
1479    visibility = [
1480        "@grpc:alt_grpc_base_legacy",
1481    ],
1482    deps = [
1483        "connection_quota",
1484        "memory_quota",
1485        "ref_counted",
1486        "thread_quota",
1487        "useful",
1488        "//:channel_arg_names",
1489        "//:cpp_impl_of",
1490        "//:event_engine_base_hdrs",
1491        "//:gpr_platform",
1492        "//:ref_counted_ptr",
1493    ],
1494)
1495
1496grpc_cc_library(
1497    name = "slice_refcount",
1498    srcs = [
1499        "lib/slice/slice_refcount.cc",
1500    ],
1501    hdrs = [
1502        "lib/slice/slice_refcount.h",
1503    ],
1504    public_hdrs = [
1505        "//:include/grpc/slice.h",
1506    ],
1507    deps = [
1508        "//:debug_location",
1509        "//:event_engine_base_hdrs",
1510        "//:gpr",
1511        "//:grpc_trace",
1512    ],
1513)
1514
1515grpc_cc_library(
1516    name = "slice",
1517    srcs = [
1518        "lib/slice/slice.cc",
1519        "lib/slice/slice_string_helpers.cc",
1520    ],
1521    hdrs = [
1522        "lib/slice/slice.h",
1523        "lib/slice/slice_internal.h",
1524        "lib/slice/slice_string_helpers.h",
1525        "//:include/grpc/slice.h",
1526    ],
1527    external_deps = [
1528        "absl/hash",
1529        "absl/strings",
1530    ],
1531    visibility = ["@grpc:alt_grpc_base_legacy"],
1532    deps = [
1533        "slice_cast",
1534        "slice_refcount",
1535        "//:debug_location",
1536        "//:event_engine_base_hdrs",
1537        "//:gpr",
1538    ],
1539)
1540
1541grpc_cc_library(
1542    name = "slice_buffer",
1543    srcs = [
1544        "lib/slice/slice_buffer.cc",
1545    ],
1546    hdrs = [
1547        "lib/slice/slice_buffer.h",
1548        "//:include/grpc/slice_buffer.h",
1549    ],
1550    deps = [
1551        "slice",
1552        "slice_refcount",
1553        "//:gpr",
1554    ],
1555)
1556
1557grpc_cc_library(
1558    name = "error",
1559    srcs = [
1560        "lib/iomgr/error.cc",
1561    ],
1562    hdrs = [
1563        "lib/iomgr/error.h",
1564    ],
1565    external_deps = [
1566        "absl/status",
1567        "absl/strings:str_format",
1568    ],
1569    visibility = ["@grpc:alt_grpc_base_legacy"],
1570    deps = [
1571        "gpr_spinlock",
1572        "slice",
1573        "slice_refcount",
1574        "status_helper",
1575        "strerror",
1576        "useful",
1577        "//:gpr",
1578        "//:grpc_public_hdrs",
1579        "//:grpc_trace",
1580    ],
1581)
1582
1583grpc_cc_library(
1584    name = "closure",
1585    srcs = [
1586        "lib/iomgr/closure.cc",
1587    ],
1588    hdrs = [
1589        "lib/iomgr/closure.h",
1590    ],
1591    external_deps = ["absl/strings:str_format"],
1592    visibility = ["@grpc:alt_grpc_base_legacy"],
1593    deps = [
1594        "error",
1595        "gpr_manual_constructor",
1596        "//:debug_location",
1597        "//:gpr",
1598    ],
1599)
1600
1601grpc_cc_library(
1602    name = "time",
1603    srcs = [
1604        "lib/gprpp/time.cc",
1605    ],
1606    hdrs = [
1607        "lib/gprpp/time.h",
1608    ],
1609    external_deps = [
1610        "absl/strings:str_format",
1611        "absl/types:optional",
1612    ],
1613    deps = [
1614        "no_destruct",
1615        "useful",
1616        "//:event_engine_base_hdrs",
1617        "//:gpr",
1618    ],
1619)
1620
1621grpc_cc_library(
1622    name = "iomgr_port",
1623    hdrs = [
1624        "lib/iomgr/port.h",
1625    ],
1626    deps = ["//:gpr_platform"],
1627)
1628
1629grpc_cc_library(
1630    name = "iomgr_fwd",
1631    hdrs = [
1632        "lib/iomgr/iomgr_fwd.h",
1633    ],
1634    visibility = ["@grpc:alt_grpc_base_legacy"],
1635    deps = ["//:gpr_platform"],
1636)
1637
1638grpc_cc_library(
1639    name = "grpc_sockaddr",
1640    srcs = [
1641        "lib/iomgr/sockaddr_utils_posix.cc",
1642        "lib/iomgr/socket_utils_windows.cc",
1643    ],
1644    hdrs = [
1645        "lib/iomgr/sockaddr.h",
1646        "lib/iomgr/sockaddr_posix.h",
1647        "lib/iomgr/sockaddr_windows.h",
1648        "lib/iomgr/socket_utils.h",
1649    ],
1650    deps = [
1651        "iomgr_port",
1652        "//:gpr",
1653    ],
1654)
1655
1656grpc_cc_library(
1657    name = "avl",
1658    hdrs = [
1659        "lib/avl/avl.h",
1660    ],
1661    deps = [
1662        "ref_counted",
1663        "useful",
1664        "//:gpr_platform",
1665        "//:ref_counted_ptr",
1666    ],
1667)
1668
1669grpc_cc_library(
1670    name = "time_averaged_stats",
1671    srcs = ["lib/gprpp/time_averaged_stats.cc"],
1672    hdrs = [
1673        "lib/gprpp/time_averaged_stats.h",
1674    ],
1675    deps = ["//:gpr"],
1676)
1677
1678grpc_cc_library(
1679    name = "forkable",
1680    srcs = [
1681        "lib/event_engine/forkable.cc",
1682    ],
1683    hdrs = [
1684        "lib/event_engine/forkable.h",
1685    ],
1686    deps = [
1687        "//:config_vars",
1688        "//:gpr",
1689        "//:gpr_platform",
1690        "//:grpc_trace",
1691    ],
1692)
1693
1694grpc_cc_library(
1695    name = "event_engine_poller",
1696    hdrs = [
1697        "lib/event_engine/poller.h",
1698    ],
1699    external_deps = ["absl/functional:function_ref"],
1700    deps = [
1701        "//:event_engine_base_hdrs",
1702        "//:gpr_platform",
1703    ],
1704)
1705
1706grpc_cc_library(
1707    name = "event_engine_time_util",
1708    srcs = ["lib/event_engine/time_util.cc"],
1709    hdrs = ["lib/event_engine/time_util.h"],
1710    deps = [
1711        "//:event_engine_base_hdrs",
1712        "//:gpr_platform",
1713    ],
1714)
1715
1716grpc_cc_library(
1717    name = "event_engine_query_extensions",
1718    hdrs = [
1719        "lib/event_engine/query_extensions.h",
1720    ],
1721    external_deps = ["absl/strings"],
1722    deps = [
1723        "//:event_engine_base_hdrs",
1724        "//:gpr_platform",
1725    ],
1726)
1727
1728grpc_cc_library(
1729    name = "event_engine_work_queue",
1730    hdrs = [
1731        "lib/event_engine/work_queue/work_queue.h",
1732    ],
1733    external_deps = ["absl/functional:any_invocable"],
1734    deps = [
1735        "//:event_engine_base_hdrs",
1736        "//:gpr",
1737    ],
1738)
1739
1740grpc_cc_library(
1741    name = "event_engine_basic_work_queue",
1742    srcs = [
1743        "lib/event_engine/work_queue/basic_work_queue.cc",
1744    ],
1745    hdrs = [
1746        "lib/event_engine/work_queue/basic_work_queue.h",
1747    ],
1748    external_deps = [
1749        "absl/base:core_headers",
1750        "absl/functional:any_invocable",
1751    ],
1752    deps = [
1753        "common_event_engine_closures",
1754        "event_engine_work_queue",
1755        "//:event_engine_base_hdrs",
1756        "//:gpr",
1757    ],
1758)
1759
1760grpc_cc_library(
1761    name = "common_event_engine_closures",
1762    hdrs = ["lib/event_engine/common_closures.h"],
1763    external_deps = ["absl/functional:any_invocable"],
1764    deps = [
1765        "//:event_engine_base_hdrs",
1766        "//:gpr_platform",
1767    ],
1768)
1769
1770grpc_cc_library(
1771    name = "posix_event_engine_timer",
1772    srcs = [
1773        "lib/event_engine/posix_engine/timer.cc",
1774        "lib/event_engine/posix_engine/timer_heap.cc",
1775    ],
1776    hdrs = [
1777        "lib/event_engine/posix_engine/timer.h",
1778        "lib/event_engine/posix_engine/timer_heap.h",
1779    ],
1780    external_deps = [
1781        "absl/base:core_headers",
1782        "absl/types:optional",
1783    ],
1784    deps = [
1785        "time",
1786        "time_averaged_stats",
1787        "useful",
1788        "//:event_engine_base_hdrs",
1789        "//:gpr",
1790    ],
1791)
1792
1793grpc_cc_library(
1794    name = "event_engine_thread_local",
1795    srcs = ["lib/event_engine/thread_local.cc"],
1796    hdrs = ["lib/event_engine/thread_local.h"],
1797    deps = ["//:gpr_platform"],
1798)
1799
1800grpc_cc_library(
1801    name = "event_engine_thread_count",
1802    srcs = [
1803        "lib/event_engine/thread_pool/thread_count.cc",
1804    ],
1805    hdrs = ["lib/event_engine/thread_pool/thread_count.h"],
1806    external_deps = [
1807        "absl/base:core_headers",
1808        "absl/time",
1809        "absl/status",
1810        "absl/strings:str_format",
1811    ],
1812    deps = [
1813        "time",
1814        "useful",
1815        "//:gpr",
1816    ],
1817)
1818
1819grpc_cc_library(
1820    name = "event_engine_thread_pool",
1821    srcs = [
1822        "lib/event_engine/thread_pool/thread_pool_factory.cc",
1823        "lib/event_engine/thread_pool/work_stealing_thread_pool.cc",
1824    ],
1825    hdrs = [
1826        "lib/event_engine/thread_pool/thread_pool.h",
1827        "lib/event_engine/thread_pool/work_stealing_thread_pool.h",
1828    ],
1829    external_deps = [
1830        "absl/base:core_headers",
1831        "absl/container:flat_hash_set",
1832        "absl/functional:any_invocable",
1833        "absl/time",
1834        "absl/types:optional",
1835    ],
1836    deps = [
1837        "common_event_engine_closures",
1838        "env",
1839        "event_engine_basic_work_queue",
1840        "event_engine_thread_count",
1841        "event_engine_thread_local",
1842        "event_engine_trace",
1843        "event_engine_work_queue",
1844        "examine_stack",
1845        "forkable",
1846        "no_destruct",
1847        "notification",
1848        "time",
1849        "//:backoff",
1850        "//:event_engine_base_hdrs",
1851        "//:gpr",
1852    ],
1853)
1854
1855grpc_cc_library(
1856    name = "posix_event_engine_base_hdrs",
1857    srcs = [],
1858    hdrs = [
1859        "lib/event_engine/posix.h",
1860    ],
1861    external_deps = [
1862        "absl/functional:any_invocable",
1863        "absl/status",
1864        "absl/status:statusor",
1865    ],
1866    deps = [
1867        "event_engine_extensions",
1868        "event_engine_query_extensions",
1869        "//:event_engine_base_hdrs",
1870        "//:gpr",
1871    ],
1872)
1873
1874grpc_cc_library(
1875    name = "posix_event_engine_timer_manager",
1876    srcs = ["lib/event_engine/posix_engine/timer_manager.cc"],
1877    hdrs = [
1878        "lib/event_engine/posix_engine/timer_manager.h",
1879    ],
1880    external_deps = [
1881        "absl/base:core_headers",
1882        "absl/time",
1883        "absl/types:optional",
1884    ],
1885    deps = [
1886        "event_engine_thread_pool",
1887        "forkable",
1888        "notification",
1889        "posix_event_engine_timer",
1890        "time",
1891        "//:event_engine_base_hdrs",
1892        "//:gpr",
1893        "//:grpc_trace",
1894    ],
1895)
1896
1897grpc_cc_library(
1898    name = "posix_event_engine_event_poller",
1899    srcs = [],
1900    hdrs = [
1901        "lib/event_engine/posix_engine/event_poller.h",
1902    ],
1903    external_deps = [
1904        "absl/functional:any_invocable",
1905        "absl/status",
1906        "absl/strings",
1907    ],
1908    deps = [
1909        "event_engine_poller",
1910        "forkable",
1911        "posix_event_engine_closure",
1912        "//:event_engine_base_hdrs",
1913        "//:gpr_platform",
1914    ],
1915)
1916
1917grpc_cc_library(
1918    name = "posix_event_engine_closure",
1919    srcs = [],
1920    hdrs = [
1921        "lib/event_engine/posix_engine/posix_engine_closure.h",
1922    ],
1923    external_deps = [
1924        "absl/functional:any_invocable",
1925        "absl/status",
1926    ],
1927    deps = [
1928        "//:event_engine_base_hdrs",
1929        "//:gpr_platform",
1930    ],
1931)
1932
1933grpc_cc_library(
1934    name = "posix_event_engine_lockfree_event",
1935    srcs = [
1936        "lib/event_engine/posix_engine/lockfree_event.cc",
1937    ],
1938    hdrs = [
1939        "lib/event_engine/posix_engine/lockfree_event.h",
1940    ],
1941    external_deps = ["absl/status"],
1942    deps = [
1943        "gpr_atm",
1944        "posix_event_engine_closure",
1945        "posix_event_engine_event_poller",
1946        "status_helper",
1947        "//:gpr",
1948    ],
1949)
1950
1951grpc_cc_library(
1952    name = "posix_event_engine_wakeup_fd_posix",
1953    hdrs = [
1954        "lib/event_engine/posix_engine/wakeup_fd_posix.h",
1955    ],
1956    external_deps = ["absl/status"],
1957    deps = ["//:gpr_platform"],
1958)
1959
1960grpc_cc_library(
1961    name = "posix_event_engine_wakeup_fd_posix_pipe",
1962    srcs = [
1963        "lib/event_engine/posix_engine/wakeup_fd_pipe.cc",
1964    ],
1965    hdrs = [
1966        "lib/event_engine/posix_engine/wakeup_fd_pipe.h",
1967    ],
1968    external_deps = [
1969        "absl/status",
1970        "absl/status:statusor",
1971        "absl/strings",
1972    ],
1973    deps = [
1974        "iomgr_port",
1975        "posix_event_engine_wakeup_fd_posix",
1976        "strerror",
1977        "//:gpr",
1978    ],
1979)
1980
1981grpc_cc_library(
1982    name = "posix_event_engine_wakeup_fd_posix_eventfd",
1983    srcs = [
1984        "lib/event_engine/posix_engine/wakeup_fd_eventfd.cc",
1985    ],
1986    hdrs = [
1987        "lib/event_engine/posix_engine/wakeup_fd_eventfd.h",
1988    ],
1989    external_deps = [
1990        "absl/status",
1991        "absl/status:statusor",
1992        "absl/strings",
1993    ],
1994    deps = [
1995        "iomgr_port",
1996        "posix_event_engine_wakeup_fd_posix",
1997        "strerror",
1998        "//:gpr",
1999    ],
2000)
2001
2002grpc_cc_library(
2003    name = "posix_event_engine_wakeup_fd_posix_default",
2004    srcs = [
2005        "lib/event_engine/posix_engine/wakeup_fd_posix_default.cc",
2006    ],
2007    hdrs = [
2008        "lib/event_engine/posix_engine/wakeup_fd_posix_default.h",
2009    ],
2010    external_deps = [
2011        "absl/status",
2012        "absl/status:statusor",
2013    ],
2014    deps = [
2015        "iomgr_port",
2016        "posix_event_engine_wakeup_fd_posix",
2017        "posix_event_engine_wakeup_fd_posix_eventfd",
2018        "posix_event_engine_wakeup_fd_posix_pipe",
2019        "//:gpr_platform",
2020    ],
2021)
2022
2023grpc_cc_library(
2024    name = "posix_event_engine_poller_posix_epoll1",
2025    srcs = [
2026        "lib/event_engine/posix_engine/ev_epoll1_linux.cc",
2027    ],
2028    hdrs = [
2029        "lib/event_engine/posix_engine/ev_epoll1_linux.h",
2030    ],
2031    external_deps = [
2032        "absl/base:core_headers",
2033        "absl/container:inlined_vector",
2034        "absl/functional:function_ref",
2035        "absl/status",
2036        "absl/status:statusor",
2037        "absl/strings",
2038        "absl/strings:str_format",
2039    ],
2040    deps = [
2041        "event_engine_poller",
2042        "event_engine_time_util",
2043        "iomgr_port",
2044        "posix_event_engine_closure",
2045        "posix_event_engine_event_poller",
2046        "posix_event_engine_internal_errqueue",
2047        "posix_event_engine_lockfree_event",
2048        "posix_event_engine_wakeup_fd_posix",
2049        "posix_event_engine_wakeup_fd_posix_default",
2050        "status_helper",
2051        "strerror",
2052        "//:event_engine_base_hdrs",
2053        "//:gpr",
2054        "//:grpc_public_hdrs",
2055    ],
2056)
2057
2058grpc_cc_library(
2059    name = "posix_event_engine_poller_posix_poll",
2060    srcs = [
2061        "lib/event_engine/posix_engine/ev_poll_posix.cc",
2062    ],
2063    hdrs = [
2064        "lib/event_engine/posix_engine/ev_poll_posix.h",
2065    ],
2066    external_deps = [
2067        "absl/base:core_headers",
2068        "absl/container:inlined_vector",
2069        "absl/functional:any_invocable",
2070        "absl/functional:function_ref",
2071        "absl/status",
2072        "absl/status:statusor",
2073        "absl/strings",
2074        "absl/strings:str_format",
2075    ],
2076    deps = [
2077        "common_event_engine_closures",
2078        "event_engine_poller",
2079        "event_engine_time_util",
2080        "iomgr_port",
2081        "posix_event_engine_closure",
2082        "posix_event_engine_event_poller",
2083        "posix_event_engine_wakeup_fd_posix",
2084        "posix_event_engine_wakeup_fd_posix_default",
2085        "status_helper",
2086        "strerror",
2087        "time",
2088        "//:event_engine_base_hdrs",
2089        "//:gpr",
2090        "//:grpc_public_hdrs",
2091    ],
2092)
2093
2094grpc_cc_library(
2095    name = "posix_event_engine_poller_posix_default",
2096    srcs = [
2097        "lib/event_engine/posix_engine/event_poller_posix_default.cc",
2098    ],
2099    hdrs = [
2100        "lib/event_engine/posix_engine/event_poller_posix_default.h",
2101    ],
2102    external_deps = ["absl/strings"],
2103    deps = [
2104        "forkable",
2105        "iomgr_port",
2106        "no_destruct",
2107        "posix_event_engine_event_poller",
2108        "posix_event_engine_poller_posix_epoll1",
2109        "posix_event_engine_poller_posix_poll",
2110        "//:config_vars",
2111        "//:gpr",
2112    ],
2113)
2114
2115grpc_cc_library(
2116    name = "posix_event_engine_internal_errqueue",
2117    srcs = [
2118        "lib/event_engine/posix_engine/internal_errqueue.cc",
2119    ],
2120    hdrs = [
2121        "lib/event_engine/posix_engine/internal_errqueue.h",
2122    ],
2123    deps = [
2124        "iomgr_port",
2125        "strerror",
2126        "//:gpr",
2127    ],
2128)
2129
2130grpc_cc_library(
2131    name = "posix_event_engine_traced_buffer_list",
2132    srcs = [
2133        "lib/event_engine/posix_engine/traced_buffer_list.cc",
2134    ],
2135    hdrs = [
2136        "lib/event_engine/posix_engine/traced_buffer_list.h",
2137    ],
2138    external_deps = [
2139        "absl/functional:any_invocable",
2140        "absl/status",
2141        "absl/types:optional",
2142    ],
2143    deps = [
2144        "iomgr_port",
2145        "posix_event_engine_internal_errqueue",
2146        "//:gpr",
2147    ],
2148)
2149
2150grpc_cc_library(
2151    name = "posix_event_engine_endpoint",
2152    srcs = [
2153        "lib/event_engine/posix_engine/posix_endpoint.cc",
2154    ],
2155    hdrs = [
2156        "lib/event_engine/posix_engine/posix_endpoint.h",
2157    ],
2158    external_deps = [
2159        "absl/base:core_headers",
2160        "absl/container:flat_hash_map",
2161        "absl/functional:any_invocable",
2162        "absl/hash",
2163        "absl/status",
2164        "absl/status:statusor",
2165        "absl/strings",
2166        "absl/types:optional",
2167    ],
2168    deps = [
2169        "event_engine_common",
2170        "event_engine_extensions",
2171        "event_engine_tcp_socket_utils",
2172        "event_engine_trace",
2173        "experiments",
2174        "iomgr_port",
2175        "load_file",
2176        "memory_quota",
2177        "posix_event_engine_base_hdrs",
2178        "posix_event_engine_closure",
2179        "posix_event_engine_event_poller",
2180        "posix_event_engine_internal_errqueue",
2181        "posix_event_engine_tcp_socket_utils",
2182        "posix_event_engine_traced_buffer_list",
2183        "ref_counted",
2184        "resource_quota",
2185        "slice",
2186        "status_helper",
2187        "strerror",
2188        "time",
2189        "//:debug_location",
2190        "//:event_engine_base_hdrs",
2191        "//:exec_ctx",
2192        "//:gpr",
2193        "//:grpc_public_hdrs",
2194        "//:ref_counted_ptr",
2195    ],
2196)
2197
2198grpc_cc_library(
2199    name = "event_engine_utils",
2200    srcs = ["lib/event_engine/utils.cc"],
2201    hdrs = ["lib/event_engine/utils.h"],
2202    external_deps = ["absl/strings"],
2203    deps = [
2204        "time",
2205        "//:event_engine_base_hdrs",
2206        "//:gpr_platform",
2207    ],
2208)
2209
2210grpc_cc_library(
2211    name = "posix_event_engine_tcp_socket_utils",
2212    srcs = [
2213        "lib/event_engine/posix_engine/tcp_socket_utils.cc",
2214    ],
2215    hdrs = [
2216        "lib/event_engine/posix_engine/tcp_socket_utils.h",
2217    ],
2218    external_deps = [
2219        "absl/cleanup",
2220        "absl/status",
2221        "absl/status:statusor",
2222        "absl/strings",
2223        "absl/types:optional",
2224    ],
2225    deps = [
2226        "event_engine_tcp_socket_utils",
2227        "iomgr_port",
2228        "resource_quota",
2229        "socket_mutator",
2230        "status_helper",
2231        "strerror",
2232        "time",
2233        "useful",
2234        "//:channel_arg_names",
2235        "//:event_engine_base_hdrs",
2236        "//:gpr",
2237        "//:ref_counted_ptr",
2238    ],
2239)
2240
2241grpc_cc_library(
2242    name = "posix_event_engine_listener_utils",
2243    srcs = [
2244        "lib/event_engine/posix_engine/posix_engine_listener_utils.cc",
2245    ],
2246    hdrs = [
2247        "lib/event_engine/posix_engine/posix_engine_listener_utils.h",
2248    ],
2249    external_deps = [
2250        "absl/cleanup",
2251        "absl/status",
2252        "absl/status:statusor",
2253        "absl/strings",
2254    ],
2255    deps = [
2256        "event_engine_tcp_socket_utils",
2257        "iomgr_port",
2258        "posix_event_engine_tcp_socket_utils",
2259        "socket_mutator",
2260        "status_helper",
2261        "//:event_engine_base_hdrs",
2262        "//:gpr",
2263    ],
2264)
2265
2266grpc_cc_library(
2267    name = "posix_event_engine_listener",
2268    srcs = [
2269        "lib/event_engine/posix_engine/posix_engine_listener.cc",
2270    ],
2271    hdrs = [
2272        "lib/event_engine/posix_engine/posix_engine_listener.h",
2273    ],
2274    external_deps = [
2275        "absl/base:core_headers",
2276        "absl/functional:any_invocable",
2277        "absl/status",
2278        "absl/status:statusor",
2279        "absl/strings",
2280        "absl/types:optional",
2281    ],
2282    deps = [
2283        "event_engine_tcp_socket_utils",
2284        "event_engine_trace",
2285        "iomgr_port",
2286        "posix_event_engine_base_hdrs",
2287        "posix_event_engine_closure",
2288        "posix_event_engine_endpoint",
2289        "posix_event_engine_event_poller",
2290        "posix_event_engine_listener_utils",
2291        "posix_event_engine_tcp_socket_utils",
2292        "socket_mutator",
2293        "status_helper",
2294        "strerror",
2295        "time",
2296        "//:event_engine_base_hdrs",
2297        "//:exec_ctx",
2298        "//:gpr",
2299    ],
2300)
2301
2302grpc_cc_library(
2303    name = "posix_event_engine",
2304    srcs = ["lib/event_engine/posix_engine/posix_engine.cc"],
2305    hdrs = ["lib/event_engine/posix_engine/posix_engine.h"],
2306    external_deps = [
2307        "absl/base:core_headers",
2308        "absl/cleanup",
2309        "absl/container:flat_hash_map",
2310        "absl/functional:any_invocable",
2311        "absl/hash",
2312        "absl/status",
2313        "absl/status:statusor",
2314        "absl/strings",
2315    ],
2316    deps = [
2317        "ares_resolver",
2318        "event_engine_common",
2319        "event_engine_poller",
2320        "event_engine_tcp_socket_utils",
2321        "event_engine_thread_pool",
2322        "event_engine_trace",
2323        "event_engine_utils",
2324        "forkable",
2325        "init_internally",
2326        "iomgr_port",
2327        "native_posix_dns_resolver",
2328        "no_destruct",
2329        "posix_event_engine_base_hdrs",
2330        "posix_event_engine_closure",
2331        "posix_event_engine_endpoint",
2332        "posix_event_engine_event_poller",
2333        "posix_event_engine_listener",
2334        "posix_event_engine_poller_posix_default",
2335        "posix_event_engine_tcp_socket_utils",
2336        "posix_event_engine_timer",
2337        "posix_event_engine_timer_manager",
2338        "ref_counted_dns_resolver_interface",
2339        "useful",
2340        "//:config_vars",
2341        "//:event_engine_base_hdrs",
2342        "//:gpr",
2343        "//:grpc_trace",
2344        "//:orphanable",
2345    ],
2346)
2347
2348grpc_cc_library(
2349    name = "windows_event_engine",
2350    srcs = ["lib/event_engine/windows/windows_engine.cc"],
2351    hdrs = ["lib/event_engine/windows/windows_engine.h"],
2352    external_deps = [
2353        "absl/status",
2354        "absl/status:statusor",
2355        "absl/strings",
2356    ],
2357    deps = [
2358        "ares_resolver",
2359        "channel_args_endpoint_config",
2360        "common_event_engine_closures",
2361        "error",
2362        "event_engine_common",
2363        "event_engine_tcp_socket_utils",
2364        "event_engine_thread_pool",
2365        "event_engine_trace",
2366        "event_engine_utils",
2367        "init_internally",
2368        "iomgr_port",
2369        "posix_event_engine_timer_manager",
2370        "time",
2371        "windows_endpoint",
2372        "windows_event_engine_listener",
2373        "windows_iocp",
2374        "windows_native_resolver",
2375        "//:event_engine_base_hdrs",
2376        "//:gpr",
2377    ],
2378)
2379
2380grpc_cc_library(
2381    name = "windows_native_resolver",
2382    srcs = ["lib/event_engine/windows/native_windows_dns_resolver.cc"],
2383    hdrs = ["lib/event_engine/windows/native_windows_dns_resolver.h"],
2384    external_deps = ["absl/strings:str_format"],
2385    deps = [
2386        "error",
2387        "status_helper",
2388        "//:event_engine_base_hdrs",
2389        "//:gpr",
2390    ],
2391)
2392
2393grpc_cc_library(
2394    name = "windows_iocp",
2395    srcs = [
2396        "lib/event_engine/windows/iocp.cc",
2397        "lib/event_engine/windows/win_socket.cc",
2398    ],
2399    hdrs = [
2400        "lib/event_engine/windows/iocp.h",
2401        "lib/event_engine/windows/win_socket.h",
2402    ],
2403    external_deps = [
2404        "absl/base:core_headers",
2405        "absl/functional:any_invocable",
2406        "absl/status",
2407        "absl/strings:str_format",
2408    ],
2409    deps = [
2410        "error",
2411        "event_engine_poller",
2412        "event_engine_tcp_socket_utils",
2413        "event_engine_thread_pool",
2414        "event_engine_time_util",
2415        "event_engine_trace",
2416        "//:debug_location",
2417        "//:event_engine_base_hdrs",
2418        "//:gpr",
2419        "//:gpr_platform",
2420    ],
2421)
2422
2423grpc_cc_library(
2424    name = "windows_endpoint",
2425    srcs = [
2426        "lib/event_engine/windows/windows_endpoint.cc",
2427    ],
2428    hdrs = [
2429        "lib/event_engine/windows/windows_endpoint.h",
2430    ],
2431    external_deps = [
2432        "absl/cleanup",
2433        "absl/functional:any_invocable",
2434        "absl/status",
2435        "absl/strings:str_format",
2436    ],
2437    deps = [
2438        "error",
2439        "event_engine_tcp_socket_utils",
2440        "event_engine_thread_pool",
2441        "event_engine_trace",
2442        "status_helper",
2443        "windows_iocp",
2444        "//:debug_location",
2445        "//:event_engine_base_hdrs",
2446        "//:gpr",
2447        "//:gpr_platform",
2448    ],
2449)
2450
2451grpc_cc_library(
2452    name = "windows_event_engine_listener",
2453    srcs = [
2454        "lib/event_engine/windows/windows_listener.cc",
2455    ],
2456    hdrs = [
2457        "lib/event_engine/windows/windows_listener.h",
2458    ],
2459    external_deps = [
2460        "absl/base:core_headers",
2461        "absl/status",
2462        "absl/status:statusor",
2463        "absl/strings:str_format",
2464    ],
2465    deps = [
2466        "common_event_engine_closures",
2467        "error",
2468        "event_engine_tcp_socket_utils",
2469        "event_engine_thread_pool",
2470        "event_engine_trace",
2471        "windows_endpoint",
2472        "windows_iocp",
2473        "//:event_engine_base_hdrs",
2474        "//:gpr",
2475        "//:gpr_platform",
2476    ],
2477)
2478
2479grpc_cc_library(
2480    name = "cf_event_engine",
2481    srcs = [
2482        "lib/event_engine/cf_engine/cf_engine.cc",
2483        "lib/event_engine/cf_engine/cfstream_endpoint.cc",
2484        "lib/event_engine/cf_engine/dns_service_resolver.cc",
2485    ],
2486    hdrs = [
2487        "lib/event_engine/cf_engine/cf_engine.h",
2488        "lib/event_engine/cf_engine/cfstream_endpoint.h",
2489        "lib/event_engine/cf_engine/cftype_unique_ref.h",
2490        "lib/event_engine/cf_engine/dns_service_resolver.h",
2491    ],
2492    external_deps = [
2493        "absl/container:flat_hash_map",
2494        "absl/strings",
2495        "absl/strings:str_format",
2496    ],
2497    deps = [
2498        "event_engine_common",
2499        "event_engine_tcp_socket_utils",
2500        "event_engine_thread_pool",
2501        "event_engine_trace",
2502        "event_engine_utils",
2503        "init_internally",
2504        "posix_event_engine_closure",
2505        "posix_event_engine_event_poller",
2506        "posix_event_engine_lockfree_event",
2507        "posix_event_engine_timer_manager",
2508        "ref_counted",
2509        "strerror",
2510        "//:event_engine_base_hdrs",
2511        "//:gpr",
2512        "//:parse_address",
2513        "//:ref_counted_ptr",
2514        "//:sockaddr_utils",
2515    ],
2516)
2517
2518grpc_cc_library(
2519    name = "event_engine_tcp_socket_utils",
2520    srcs = [
2521        "lib/event_engine/tcp_socket_utils.cc",
2522    ],
2523    hdrs = [
2524        "lib/event_engine/tcp_socket_utils.h",
2525    ],
2526    external_deps = [
2527        "absl/status",
2528        "absl/status:statusor",
2529        "absl/strings",
2530        "absl/strings:str_format",
2531        "absl/types:optional",
2532    ],
2533    deps = [
2534        "iomgr_port",
2535        "resolved_address",
2536        "status_helper",
2537        "//:event_engine_base_hdrs",
2538        "//:gpr",
2539        "//:gpr_platform",
2540        "//:parse_address",
2541        "//:uri_parser",
2542    ],
2543)
2544
2545grpc_cc_library(
2546    name = "event_engine_trace",
2547    srcs = [
2548        "lib/event_engine/trace.cc",
2549    ],
2550    hdrs = [
2551        "lib/event_engine/trace.h",
2552    ],
2553    deps = [
2554        "//:gpr",
2555        "//:gpr_platform",
2556        "//:grpc_trace",
2557    ],
2558)
2559
2560grpc_cc_library(
2561    name = "event_engine_shim",
2562    srcs = [
2563        "lib/event_engine/shim.cc",
2564    ],
2565    hdrs = [
2566        "lib/event_engine/shim.h",
2567    ],
2568    deps = [
2569        "experiments",
2570        "iomgr_port",
2571        "//:gpr_platform",
2572    ],
2573)
2574
2575# NOTE: this target gets replaced inside Google's build system to be one that
2576# integrates with other internal systems better. Please do not rename or fold
2577# this into other targets.
2578grpc_cc_library(
2579    name = "default_event_engine_factory",
2580    srcs = ["lib/event_engine/default_event_engine_factory.cc"],
2581    hdrs = ["lib/event_engine/default_event_engine_factory.h"],
2582    external_deps = ["absl/memory"],
2583    select_deps = [
2584        {
2585            "//:windows": ["windows_event_engine"],
2586            "//:windows_msvc": ["windows_event_engine"],
2587            "//:windows_other": ["windows_event_engine"],
2588            "//:mac": [
2589                "posix_event_engine",
2590                "cf_event_engine",
2591            ],
2592            "//:mac_x86_64": [
2593                "posix_event_engine",
2594                "cf_event_engine",
2595            ],
2596            "//:mac_arm64": [
2597                "posix_event_engine",
2598                "cf_event_engine",
2599            ],
2600            "//:ios": ["cf_event_engine"],
2601            "//:tvos": ["cf_event_engine"],
2602            "//:watchos": ["cf_event_engine"],
2603            "//conditions:default": ["posix_event_engine"],
2604        },
2605    ],
2606    deps = [
2607        "//:event_engine_base_hdrs",
2608        "//:gpr_platform",
2609    ],
2610)
2611
2612grpc_cc_library(
2613    name = "channel_args_endpoint_config",
2614    srcs = [
2615        "lib/event_engine/channel_args_endpoint_config.cc",
2616    ],
2617    hdrs = [
2618        "lib/event_engine/channel_args_endpoint_config.h",
2619    ],
2620    external_deps = [
2621        "absl/strings",
2622        "absl/types:optional",
2623    ],
2624    visibility = ["@grpc:alt_grpc_base_legacy"],
2625    deps = [
2626        "channel_args",
2627        "//:event_engine_base_hdrs",
2628        "//:gpr_platform",
2629    ],
2630)
2631
2632grpc_cc_library(
2633    name = "thready_event_engine",
2634    srcs = ["lib/event_engine/thready_event_engine/thready_event_engine.cc"],
2635    hdrs = ["lib/event_engine/thready_event_engine/thready_event_engine.h"],
2636    external_deps = [
2637        "absl/functional:any_invocable",
2638        "absl/status",
2639        "absl/status:statusor",
2640        "absl/strings",
2641    ],
2642    deps = [
2643        "//:event_engine_base_hdrs",
2644        "//:gpr",
2645    ],
2646)
2647
2648grpc_cc_library(
2649    name = "event_engine_context",
2650    hdrs = [
2651        "lib/event_engine/event_engine_context.h",
2652    ],
2653    visibility = [
2654        "@grpc:alt_grpc_base_legacy",
2655    ],
2656    deps = [
2657        "context",
2658        "//:event_engine_base_hdrs",
2659        "//:gpr",
2660    ],
2661)
2662
2663grpc_cc_library(
2664    name = "default_event_engine",
2665    srcs = [
2666        "lib/event_engine/default_event_engine.cc",
2667    ],
2668    hdrs = [
2669        "lib/event_engine/default_event_engine.h",
2670    ],
2671    external_deps = ["absl/functional:any_invocable"],
2672    visibility = [
2673        "@grpc:alt_grpc_base_legacy",
2674    ],
2675    deps = [
2676        "channel_args",
2677        "default_event_engine_factory",
2678        "event_engine_trace",
2679        "no_destruct",
2680        "thready_event_engine",
2681        "//:config",
2682        "//:debug_location",
2683        "//:event_engine_base_hdrs",
2684        "//:gpr",
2685        "//:grpc_trace",
2686    ],
2687)
2688
2689grpc_cc_library(
2690    name = "ref_counted_dns_resolver_interface",
2691    hdrs = ["lib/event_engine/ref_counted_dns_resolver_interface.h"],
2692    external_deps = ["absl/strings"],
2693    deps = [
2694        "//:event_engine_base_hdrs",
2695        "//:gpr_platform",
2696        "//:orphanable",
2697    ],
2698)
2699
2700grpc_cc_library(
2701    name = "native_posix_dns_resolver",
2702    srcs = [
2703        "lib/event_engine/posix_engine/native_posix_dns_resolver.cc",
2704    ],
2705    hdrs = [
2706        "lib/event_engine/posix_engine/native_posix_dns_resolver.h",
2707    ],
2708    external_deps = [
2709        "absl/functional:any_invocable",
2710        "absl/status",
2711        "absl/status:statusor",
2712        "absl/strings",
2713        "absl/strings:str_format",
2714    ],
2715    deps = [
2716        "iomgr_port",
2717        "useful",
2718        "//:event_engine_base_hdrs",
2719        "//:gpr",
2720    ],
2721)
2722
2723grpc_cc_library(
2724    name = "ares_resolver",
2725    srcs = [
2726        "lib/event_engine/ares_resolver.cc",
2727        "lib/event_engine/windows/grpc_polled_fd_windows.cc",
2728    ],
2729    hdrs = [
2730        "lib/event_engine/ares_resolver.h",
2731        "lib/event_engine/grpc_polled_fd.h",
2732        "lib/event_engine/nameser.h",
2733        "lib/event_engine/posix_engine/grpc_polled_fd_posix.h",
2734        "lib/event_engine/windows/grpc_polled_fd_windows.h",
2735    ],
2736    external_deps = [
2737        "absl/base:core_headers",
2738        "absl/container:flat_hash_map",
2739        "absl/functional:any_invocable",
2740        "absl/hash",
2741        "absl/status",
2742        "absl/status:statusor",
2743        "absl/strings",
2744        "absl/strings:str_format",
2745        "absl/types:optional",
2746        "absl/types:variant",
2747        "address_sorting",
2748        "cares",
2749    ],
2750    deps = [
2751        "common_event_engine_closures",
2752        "error",
2753        "event_engine_time_util",
2754        "grpc_sockaddr",
2755        "iomgr_port",
2756        "posix_event_engine_closure",
2757        "posix_event_engine_event_poller",
2758        "posix_event_engine_tcp_socket_utils",
2759        "ref_counted_dns_resolver_interface",
2760        "resolved_address",
2761        "slice",
2762        "windows_iocp",
2763        "//:debug_location",
2764        "//:event_engine_base_hdrs",
2765        "//:gpr",
2766        "//:grpc_trace",
2767        "//:orphanable",
2768        "//:parse_address",
2769        "//:ref_counted_ptr",
2770        "//:sockaddr_utils",
2771    ],
2772)
2773
2774grpc_cc_library(
2775    name = "channel_args_preconditioning",
2776    srcs = [
2777        "lib/channel/channel_args_preconditioning.cc",
2778    ],
2779    hdrs = [
2780        "lib/channel/channel_args_preconditioning.h",
2781    ],
2782    deps = [
2783        "channel_args",
2784        "//:event_engine_base_hdrs",
2785        "//:gpr_platform",
2786    ],
2787)
2788
2789grpc_cc_library(
2790    name = "bdp_estimator",
2791    srcs = [
2792        "lib/transport/bdp_estimator.cc",
2793    ],
2794    hdrs = ["lib/transport/bdp_estimator.h"],
2795    external_deps = ["absl/strings"],
2796    deps = [
2797        "time",
2798        "//:gpr",
2799        "//:grpc_trace",
2800    ],
2801)
2802
2803grpc_cc_library(
2804    name = "percent_encoding",
2805    srcs = [
2806        "lib/slice/percent_encoding.cc",
2807    ],
2808    hdrs = [
2809        "lib/slice/percent_encoding.h",
2810    ],
2811    deps = [
2812        "bitset",
2813        "slice",
2814        "//:gpr",
2815    ],
2816)
2817
2818grpc_cc_library(
2819    name = "socket_mutator",
2820    srcs = [
2821        "lib/iomgr/socket_mutator.cc",
2822    ],
2823    hdrs = [
2824        "lib/iomgr/socket_mutator.h",
2825    ],
2826    visibility = ["@grpc:alt_grpc_base_legacy"],
2827    deps = [
2828        "channel_args",
2829        "useful",
2830        "//:event_engine_base_hdrs",
2831        "//:gpr",
2832    ],
2833)
2834
2835grpc_cc_library(
2836    name = "pollset_set",
2837    srcs = [
2838        "lib/iomgr/pollset_set.cc",
2839    ],
2840    hdrs = [
2841        "lib/iomgr/pollset_set.h",
2842    ],
2843    deps = [
2844        "iomgr_fwd",
2845        "//:gpr",
2846    ],
2847)
2848
2849grpc_cc_library(
2850    name = "histogram_view",
2851    srcs = [
2852        "lib/debug/histogram_view.cc",
2853    ],
2854    hdrs = [
2855        "lib/debug/histogram_view.h",
2856    ],
2857    deps = ["//:gpr"],
2858)
2859
2860grpc_cc_library(
2861    name = "stats_data",
2862    srcs = [
2863        "lib/debug/stats_data.cc",
2864    ],
2865    hdrs = [
2866        "lib/debug/stats_data.h",
2867    ],
2868    external_deps = ["absl/strings"],
2869    deps = [
2870        "histogram_view",
2871        "per_cpu",
2872        "//:gpr_platform",
2873    ],
2874)
2875
2876grpc_cc_library(
2877    name = "per_cpu",
2878    srcs = [
2879        "lib/gprpp/per_cpu.cc",
2880    ],
2881    hdrs = [
2882        "lib/gprpp/per_cpu.h",
2883    ],
2884    deps = [
2885        "useful",
2886        "//:gpr",
2887    ],
2888)
2889
2890grpc_cc_library(
2891    name = "event_log",
2892    srcs = [
2893        "lib/debug/event_log.cc",
2894    ],
2895    hdrs = [
2896        "lib/debug/event_log.h",
2897    ],
2898    external_deps = [
2899        "absl/base:core_headers",
2900        "absl/strings",
2901        "absl/types:span",
2902    ],
2903    deps = [
2904        "per_cpu",
2905        "//:gpr",
2906    ],
2907)
2908
2909grpc_cc_library(
2910    name = "load_file",
2911    srcs = [
2912        "lib/gprpp/load_file.cc",
2913    ],
2914    hdrs = [
2915        "lib/gprpp/load_file.h",
2916    ],
2917    external_deps = [
2918        "absl/cleanup",
2919        "absl/status",
2920        "absl/status:statusor",
2921        "absl/strings",
2922    ],
2923    language = "c++",
2924    deps = [
2925        "slice",
2926        "//:gpr",
2927    ],
2928)
2929
2930grpc_cc_library(
2931    name = "http2_errors",
2932    hdrs = [
2933        "lib/transport/http2_errors.h",
2934    ],
2935)
2936
2937grpc_cc_library(
2938    name = "channel_stack_type",
2939    srcs = [
2940        "lib/surface/channel_stack_type.cc",
2941    ],
2942    hdrs = [
2943        "lib/surface/channel_stack_type.h",
2944    ],
2945    language = "c++",
2946    deps = ["//:gpr_platform"],
2947)
2948
2949grpc_cc_library(
2950    name = "channel_stack_trace",
2951    srcs = [
2952        "lib/channel/channel_stack_trace.cc",
2953    ],
2954    hdrs = [
2955        "lib/channel/channel_stack_trace.h",
2956    ],
2957    language = "c++",
2958    deps = [
2959        "//:gpr_platform",
2960        "//:grpc_trace",
2961    ],
2962)
2963
2964grpc_cc_library(
2965    name = "channel_init",
2966    srcs = [
2967        "lib/surface/channel_init.cc",
2968    ],
2969    hdrs = [
2970        "lib/surface/channel_init.h",
2971    ],
2972    external_deps = [
2973        "absl/functional:any_invocable",
2974        "absl/strings",
2975        "absl/types:optional",
2976    ],
2977    language = "c++",
2978    deps = [
2979        "call_filters",
2980        "channel_args",
2981        "channel_fwd",
2982        "channel_stack_trace",
2983        "channel_stack_type",
2984        "//:channel_stack_builder",
2985        "//:debug_location",
2986        "//:gpr",
2987        "//:gpr_platform",
2988        "//:grpc_trace",
2989    ],
2990)
2991
2992grpc_cc_library(
2993    name = "server_interface",
2994    hdrs = [
2995        "lib/surface/server_interface.h",
2996    ],
2997    language = "c++",
2998    deps = [
2999        "channel_args",
3000        "//:channelz",
3001        "//:gpr_platform",
3002    ],
3003)
3004
3005grpc_cc_library(
3006    name = "single_set_ptr",
3007    hdrs = [
3008        "lib/gprpp/single_set_ptr.h",
3009    ],
3010    language = "c++",
3011    deps = ["//:gpr"],
3012)
3013
3014grpc_cc_library(
3015    name = "grpc_service_config",
3016    hdrs = [
3017        "service_config/service_config.h",
3018        "service_config/service_config_call_data.h",
3019    ],
3020    external_deps = ["absl/strings"],
3021    language = "c++",
3022    deps = [
3023        "arena",
3024        "chunked_vector",
3025        "ref_counted",
3026        "service_config_parser",
3027        "slice_refcount",
3028        "unique_type_name",
3029        "useful",
3030        "//:gpr_platform",
3031        "//:legacy_context",
3032        "//:ref_counted_ptr",
3033    ],
3034)
3035
3036grpc_cc_library(
3037    name = "service_config_parser",
3038    srcs = [
3039        "service_config/service_config_parser.cc",
3040    ],
3041    hdrs = [
3042        "service_config/service_config_parser.h",
3043    ],
3044    external_deps = ["absl/strings"],
3045    language = "c++",
3046    deps = [
3047        "channel_args",
3048        "json",
3049        "validation_errors",
3050        "//:gpr",
3051    ],
3052)
3053
3054grpc_cc_library(
3055    name = "notification",
3056    hdrs = [
3057        "lib/gprpp/notification.h",
3058    ],
3059    external_deps = ["absl/time"],
3060    deps = ["//:gpr"],
3061)
3062
3063grpc_cc_library(
3064    name = "channel_args",
3065    srcs = [
3066        "lib/channel/channel_args.cc",
3067    ],
3068    hdrs = [
3069        "lib/channel/channel_args.h",
3070    ],
3071    external_deps = [
3072        "absl/meta:type_traits",
3073        "absl/strings",
3074        "absl/strings:str_format",
3075        "absl/types:optional",
3076    ],
3077    language = "c++",
3078    visibility = [
3079        "@grpc:alt_grpc_base_legacy",
3080    ],
3081    deps = [
3082        "avl",
3083        "channel_stack_type",
3084        "dual_ref_counted",
3085        "ref_counted",
3086        "ref_counted_string",
3087        "time",
3088        "useful",
3089        "//:channel_arg_names",
3090        "//:debug_location",
3091        "//:event_engine_base_hdrs",
3092        "//:gpr",
3093        "//:ref_counted_ptr",
3094    ],
3095)
3096
3097grpc_cc_library(
3098    name = "resolved_address",
3099    hdrs = ["lib/iomgr/resolved_address.h"],
3100    language = "c++",
3101    deps = [
3102        "iomgr_port",
3103        "//:gpr_platform",
3104    ],
3105)
3106
3107grpc_cc_library(
3108    name = "client_channel_internal_header",
3109    hdrs = [
3110        "client_channel/client_channel_internal.h",
3111    ],
3112    external_deps = [
3113        "absl/functional:any_invocable",
3114    ],
3115    language = "c++",
3116    deps = [
3117        "arena",
3118        "grpc_service_config",
3119        "lb_policy",
3120        "unique_type_name",
3121        "//:call_tracer",
3122        "//:gpr_public_hdrs",
3123        "//:grpc_base",
3124        "//:legacy_context",
3125    ],
3126)
3127
3128grpc_cc_library(
3129    name = "subchannel_connector",
3130    hdrs = [
3131        "client_channel/connector.h",
3132    ],
3133    language = "c++",
3134    deps = [
3135        "channel_args",
3136        "closure",
3137        "error",
3138        "iomgr_fwd",
3139        "resolved_address",
3140        "time",
3141        "//:channelz",
3142        "//:gpr_platform",
3143        "//:grpc_base",
3144        "//:iomgr",
3145        "//:orphanable",
3146        "//:ref_counted_ptr",
3147    ],
3148)
3149
3150grpc_cc_library(
3151    name = "subchannel_pool_interface",
3152    srcs = [
3153        "client_channel/subchannel_pool_interface.cc",
3154    ],
3155    hdrs = [
3156        "client_channel/subchannel_pool_interface.h",
3157    ],
3158    external_deps = [
3159        "absl/status",
3160        "absl/status:statusor",
3161        "absl/strings",
3162    ],
3163    language = "c++",
3164    deps = [
3165        "channel_args",
3166        "ref_counted",
3167        "resolved_address",
3168        "useful",
3169        "//:gpr_platform",
3170        "//:grpc_trace",
3171        "//:ref_counted_ptr",
3172        "//:sockaddr_utils",
3173    ],
3174)
3175
3176grpc_cc_library(
3177    name = "config_selector",
3178    srcs = [
3179        "client_channel/config_selector.cc",
3180    ],
3181    hdrs = [
3182        "client_channel/config_selector.h",
3183    ],
3184    external_deps = [
3185        "absl/status",
3186        "absl/strings",
3187    ],
3188    language = "c++",
3189    deps = [
3190        "arena",
3191        "channel_args",
3192        "channel_fwd",
3193        "client_channel_internal_header",
3194        "grpc_service_config",
3195        "metadata_batch",
3196        "ref_counted",
3197        "slice",
3198        "useful",
3199        "//:gpr_public_hdrs",
3200        "//:grpc_public_hdrs",
3201        "//:ref_counted_ptr",
3202    ],
3203)
3204
3205grpc_cc_library(
3206    name = "client_channel_service_config",
3207    srcs = [
3208        "client_channel/client_channel_service_config.cc",
3209    ],
3210    hdrs = [
3211        "client_channel/client_channel_service_config.h",
3212    ],
3213    external_deps = [
3214        "absl/status",
3215        "absl/status:statusor",
3216        "absl/strings",
3217        "absl/types:optional",
3218    ],
3219    language = "c++",
3220    deps = [
3221        "channel_args",
3222        "json",
3223        "json_args",
3224        "json_object_loader",
3225        "lb_policy",
3226        "lb_policy_registry",
3227        "service_config_parser",
3228        "time",
3229        "validation_errors",
3230        "//:config",
3231        "//:gpr_platform",
3232        "//:ref_counted_ptr",
3233    ],
3234)
3235
3236grpc_cc_library(
3237    name = "retry_service_config",
3238    srcs = [
3239        "client_channel/retry_service_config.cc",
3240    ],
3241    hdrs = [
3242        "client_channel/retry_service_config.h",
3243    ],
3244    external_deps = [
3245        "absl/strings",
3246        "absl/types:optional",
3247    ],
3248    language = "c++",
3249    deps = [
3250        "channel_args",
3251        "json",
3252        "json_args",
3253        "json_channel_args",
3254        "json_object_loader",
3255        "service_config_parser",
3256        "time",
3257        "validation_errors",
3258        "//:channel_arg_names",
3259        "//:config",
3260        "//:gpr_public_hdrs",
3261        "//:grpc_base",
3262        "//:grpc_public_hdrs",
3263    ],
3264)
3265
3266grpc_cc_library(
3267    name = "retry_throttle",
3268    srcs = [
3269        "client_channel/retry_throttle.cc",
3270    ],
3271    hdrs = [
3272        "client_channel/retry_throttle.h",
3273    ],
3274    external_deps = [
3275        "absl/base:core_headers",
3276    ],
3277    language = "c++",
3278    deps = [
3279        "gpr_atm",
3280        "ref_counted",
3281        "//:gpr",
3282        "//:ref_counted_ptr",
3283    ],
3284)
3285
3286grpc_cc_library(
3287    name = "client_channel_backup_poller",
3288    srcs = [
3289        "client_channel/backup_poller.cc",
3290    ],
3291    hdrs = [
3292        "client_channel/backup_poller.h",
3293    ],
3294    external_deps = [
3295        "absl/status",
3296    ],
3297    language = "c++",
3298    deps = [
3299        "closure",
3300        "error",
3301        "iomgr_fwd",
3302        "pollset_set",
3303        "time",
3304        "//:config_vars",
3305        "//:gpr",
3306        "//:gpr_platform",
3307        "//:iomgr",
3308        "//:iomgr_timer",
3309    ],
3310)
3311
3312grpc_cc_library(
3313    name = "client_channel_channelz",
3314    srcs = [
3315        "client_channel/client_channel_channelz.cc",
3316    ],
3317    hdrs = [
3318        "client_channel/client_channel_channelz.h",
3319    ],
3320    external_deps = [
3321        "absl/base:core_headers",
3322        "absl/strings",
3323    ],
3324    language = "c++",
3325    deps = [
3326        "connectivity_state",
3327        "json",
3328        "//:channelz",
3329        "//:gpr",
3330        "//:grpc_public_hdrs",
3331        "//:ref_counted_ptr",
3332    ],
3333)
3334
3335grpc_cc_library(
3336    name = "service_config_channel_arg_filter",
3337    srcs = [
3338        "service_config/service_config_channel_arg_filter.cc",
3339    ],
3340    external_deps = [
3341        "absl/status",
3342        "absl/status:statusor",
3343        "absl/types:optional",
3344    ],
3345    language = "c++",
3346    deps = [
3347        "arena",
3348        "arena_promise",
3349        "channel_args",
3350        "channel_fwd",
3351        "channel_stack_type",
3352        "context",
3353        "grpc_message_size_filter",
3354        "grpc_service_config",
3355        "metadata_batch",
3356        "service_config_parser",
3357        "//:channel_arg_names",
3358        "//:config",
3359        "//:gpr_platform",
3360        "//:gpr_public_hdrs",
3361        "//:grpc_base",
3362        "//:grpc_service_config_impl",
3363        "//:legacy_context",
3364        "//:ref_counted_ptr",
3365    ],
3366)
3367
3368grpc_cc_library(
3369    name = "lb_policy",
3370    srcs = ["load_balancing/lb_policy.cc"],
3371    hdrs = ["load_balancing/lb_policy.h"],
3372    external_deps = [
3373        "absl/base:core_headers",
3374        "absl/status",
3375        "absl/status:statusor",
3376        "absl/strings",
3377        "absl/types:optional",
3378        "absl/types:variant",
3379    ],
3380    deps = [
3381        "channel_args",
3382        "closure",
3383        "dual_ref_counted",
3384        "error",
3385        "grpc_backend_metric_data",
3386        "iomgr_fwd",
3387        "metrics",
3388        "pollset_set",
3389        "ref_counted",
3390        "resolved_address",
3391        "subchannel_interface",
3392        "//:debug_location",
3393        "//:endpoint_addresses",
3394        "//:event_engine_base_hdrs",
3395        "//:exec_ctx",
3396        "//:gpr",
3397        "//:gpr_platform",
3398        "//:grpc_trace",
3399        "//:orphanable",
3400        "//:ref_counted_ptr",
3401        "//:work_serializer",
3402    ],
3403)
3404
3405grpc_cc_library(
3406    name = "lb_policy_factory",
3407    hdrs = ["load_balancing/lb_policy_factory.h"],
3408    external_deps = [
3409        "absl/status:statusor",
3410        "absl/strings",
3411    ],
3412    deps = [
3413        "json",
3414        "lb_policy",
3415        "//:gpr_platform",
3416        "//:orphanable",
3417        "//:ref_counted_ptr",
3418    ],
3419)
3420
3421grpc_cc_library(
3422    name = "lb_policy_registry",
3423    srcs = ["load_balancing/lb_policy_registry.cc"],
3424    hdrs = ["load_balancing/lb_policy_registry.h"],
3425    external_deps = [
3426        "absl/status",
3427        "absl/status:statusor",
3428        "absl/strings",
3429        "absl/strings:str_format",
3430    ],
3431    deps = [
3432        "json",
3433        "lb_policy",
3434        "lb_policy_factory",
3435        "//:gpr",
3436        "//:orphanable",
3437        "//:ref_counted_ptr",
3438    ],
3439)
3440
3441grpc_cc_library(
3442    name = "subchannel_interface",
3443    hdrs = ["load_balancing/subchannel_interface.h"],
3444    external_deps = ["absl/status"],
3445    deps = [
3446        "dual_ref_counted",
3447        "iomgr_fwd",
3448        "//:event_engine_base_hdrs",
3449        "//:gpr_platform",
3450        "//:ref_counted_ptr",
3451    ],
3452)
3453
3454grpc_cc_library(
3455    name = "delegating_helper",
3456    hdrs = ["load_balancing/delegating_helper.h"],
3457    external_deps = [
3458        "absl/status",
3459        "absl/strings",
3460    ],
3461    deps = [
3462        "channel_args",
3463        "lb_policy",
3464        "resolved_address",
3465        "subchannel_interface",
3466        "//:debug_location",
3467        "//:event_engine_base_hdrs",
3468        "//:gpr_platform",
3469        "//:grpc_security_base",
3470        "//:ref_counted_ptr",
3471    ],
3472)
3473
3474grpc_cc_library(
3475    name = "backend_metric_parser",
3476    srcs = [
3477        "load_balancing/backend_metric_parser.cc",
3478    ],
3479    hdrs = [
3480        "load_balancing/backend_metric_parser.h",
3481    ],
3482    external_deps = [
3483        "absl/strings",
3484        "upb_base_lib",
3485        "upb_mem_lib",
3486        "upb_message_lib",
3487    ],
3488    language = "c++",
3489    deps = [
3490        "grpc_backend_metric_data",
3491        "xds_orca_upb",
3492        "//:gpr_platform",
3493    ],
3494)
3495
3496grpc_cc_library(
3497    name = "proxy_mapper",
3498    hdrs = ["lib/handshaker/proxy_mapper.h"],
3499    external_deps = [
3500        "absl/strings",
3501        "absl/types:optional",
3502    ],
3503    deps = [
3504        "channel_args",
3505        "resolved_address",
3506        "//:gpr_platform",
3507    ],
3508)
3509
3510grpc_cc_library(
3511    name = "proxy_mapper_registry",
3512    srcs = ["lib/handshaker/proxy_mapper_registry.cc"],
3513    hdrs = ["lib/handshaker/proxy_mapper_registry.h"],
3514    external_deps = [
3515        "absl/strings",
3516        "absl/types:optional",
3517    ],
3518    deps = [
3519        "channel_args",
3520        "proxy_mapper",
3521        "resolved_address",
3522        "//:gpr_platform",
3523    ],
3524)
3525
3526grpc_cc_library(
3527    name = "http_proxy_mapper",
3528    srcs = [
3529        "client_channel/http_proxy_mapper.cc",
3530    ],
3531    hdrs = [
3532        "client_channel/http_proxy_mapper.h",
3533    ],
3534    external_deps = [
3535        "absl/status",
3536        "absl/status:statusor",
3537        "absl/strings",
3538        "absl/types:optional",
3539    ],
3540    language = "c++",
3541    deps = [
3542        "channel_args",
3543        "env",
3544        "experiments",
3545        "proxy_mapper",
3546        "resolved_address",
3547        "//:channel_arg_names",
3548        "//:config",
3549        "//:gpr",
3550        "//:grpc_base",
3551        "//:http_connect_handshaker",
3552        "//:iomgr",
3553        "//:parse_address",
3554        "//:sockaddr_utils",
3555        "//:uri_parser",
3556    ],
3557)
3558
3559grpc_cc_library(
3560    name = "grpc_server_config_selector",
3561    hdrs = [
3562        "ext/filters/server_config_selector/server_config_selector.h",
3563    ],
3564    external_deps = [
3565        "absl/status:statusor",
3566        "absl/strings",
3567    ],
3568    language = "c++",
3569    deps = [
3570        "dual_ref_counted",
3571        "grpc_service_config",
3572        "metadata_batch",
3573        "ref_counted",
3574        "service_config_parser",
3575        "useful",
3576        "//:gpr_platform",
3577        "//:grpc_base",
3578        "//:ref_counted_ptr",
3579    ],
3580)
3581
3582grpc_cc_library(
3583    name = "grpc_server_config_selector_filter",
3584    srcs = [
3585        "ext/filters/server_config_selector/server_config_selector_filter.cc",
3586    ],
3587    hdrs = [
3588        "ext/filters/server_config_selector/server_config_selector_filter.h",
3589    ],
3590    external_deps = [
3591        "absl/base:core_headers",
3592        "absl/status",
3593        "absl/status:statusor",
3594        "absl/types:optional",
3595    ],
3596    language = "c++",
3597    deps = [
3598        "arena",
3599        "arena_promise",
3600        "channel_args",
3601        "channel_fwd",
3602        "context",
3603        "event_engine_context",
3604        "grpc_server_config_selector",
3605        "grpc_service_config",
3606        "metadata_batch",
3607        "status_helper",
3608        "//:gpr",
3609        "//:grpc_base",
3610        "//:legacy_context",
3611        "//:promise",
3612        "//:ref_counted_ptr",
3613    ],
3614)
3615
3616grpc_cc_library(
3617    name = "sorted_pack",
3618    hdrs = [
3619        "lib/gprpp/sorted_pack.h",
3620    ],
3621    language = "c++",
3622    deps = [
3623        "type_list",
3624        "//:gpr_platform",
3625    ],
3626)
3627
3628grpc_cc_library(
3629    name = "type_list",
3630    hdrs = [
3631        "lib/gprpp/type_list.h",
3632    ],
3633    language = "c++",
3634)
3635
3636grpc_cc_library(
3637    name = "if_list",
3638    hdrs = [
3639        "lib/gprpp/if_list.h",
3640    ],
3641    language = "c++",
3642    deps = ["//:gpr_platform"],
3643)
3644
3645grpc_cc_library(
3646    name = "certificate_provider_factory",
3647    hdrs = [
3648        "lib/security/certificate_provider/certificate_provider_factory.h",
3649    ],
3650    external_deps = ["absl/strings"],
3651    deps = [
3652        "json",
3653        "json_args",
3654        "ref_counted",
3655        "validation_errors",
3656        "//:alts_util",
3657        "//:gpr",
3658        "//:ref_counted_ptr",
3659    ],
3660)
3661
3662grpc_cc_library(
3663    name = "certificate_provider_registry",
3664    srcs = [
3665        "lib/security/certificate_provider/certificate_provider_registry.cc",
3666    ],
3667    hdrs = [
3668        "lib/security/certificate_provider/certificate_provider_registry.h",
3669    ],
3670    external_deps = ["absl/strings"],
3671    deps = [
3672        "certificate_provider_factory",
3673        "//:gpr",
3674    ],
3675)
3676
3677grpc_cc_library(
3678    name = "grpc_audit_logging",
3679    srcs = [
3680        "lib/security/authorization/audit_logging.cc",
3681        "lib/security/authorization/stdout_logger.cc",
3682    ],
3683    hdrs = [
3684        "lib/security/authorization/audit_logging.h",
3685        "lib/security/authorization/stdout_logger.h",
3686    ],
3687    external_deps = [
3688        "absl/base:core_headers",
3689        "absl/status",
3690        "absl/status:statusor",
3691        "absl/strings",
3692        "absl/strings:str_format",
3693        "absl/time",
3694    ],
3695    deps = [
3696        "//:gpr",
3697        "//:grpc_base",
3698    ],
3699)
3700
3701grpc_cc_library(
3702    name = "grpc_authorization_base",
3703    srcs = [
3704        "lib/security/authorization/authorization_policy_provider_vtable.cc",
3705        "lib/security/authorization/evaluate_args.cc",
3706        "lib/security/authorization/grpc_server_authz_filter.cc",
3707    ],
3708    hdrs = [
3709        "lib/security/authorization/authorization_engine.h",
3710        "lib/security/authorization/authorization_policy_provider.h",
3711        "lib/security/authorization/evaluate_args.h",
3712        "lib/security/authorization/grpc_server_authz_filter.h",
3713    ],
3714    external_deps = [
3715        "absl/status",
3716        "absl/status:statusor",
3717        "absl/strings",
3718        "absl/types:optional",
3719    ],
3720    language = "c++",
3721    deps = [
3722        "arena_promise",
3723        "channel_args",
3724        "channel_fwd",
3725        "dual_ref_counted",
3726        "endpoint_info_handshaker",
3727        "load_file",
3728        "metadata_batch",
3729        "ref_counted",
3730        "resolved_address",
3731        "slice",
3732        "useful",
3733        "//:channel_arg_names",
3734        "//:gpr",
3735        "//:grpc_base",
3736        "//:grpc_credentials_util",
3737        "//:grpc_security_base",
3738        "//:grpc_trace",
3739        "//:parse_address",
3740        "//:promise",
3741        "//:ref_counted_ptr",
3742        "//:uri_parser",
3743    ],
3744)
3745
3746grpc_cc_library(
3747    name = "grpc_crl_provider",
3748    srcs = [
3749        "lib/security/credentials/tls/grpc_tls_crl_provider.cc",
3750    ],
3751    hdrs = [
3752        "lib/security/credentials/tls/grpc_tls_crl_provider.h",
3753    ],
3754    external_deps = [
3755        "absl/base:core_headers",
3756        "absl/container:flat_hash_map",
3757        "absl/status",
3758        "absl/status:statusor",
3759        "absl/strings",
3760        "absl/types:optional",
3761        "absl/types:span",
3762        "libcrypto",
3763        "libssl",
3764    ],
3765    deps = [
3766        "default_event_engine",
3767        "directory_reader",
3768        "load_file",
3769        "slice",
3770        "time",
3771        "//:exec_ctx",
3772        "//:gpr",
3773        "//:grpc_base",
3774    ],
3775)
3776
3777grpc_cc_library(
3778    name = "grpc_fake_credentials",
3779    srcs = [
3780        "lib/security/credentials/fake/fake_credentials.cc",
3781        "lib/security/security_connector/fake/fake_security_connector.cc",
3782    ],
3783    hdrs = [
3784        "lib/security/credentials/fake/fake_credentials.h",
3785        "lib/security/security_connector/fake/fake_security_connector.h",
3786        "load_balancing/grpclb/grpclb.h",
3787    ],
3788    external_deps = [
3789        "absl/status",
3790        "absl/status:statusor",
3791        "absl/strings",
3792        "absl/strings:str_format",
3793        "absl/types:optional",
3794    ],
3795    language = "c++",
3796    deps = [
3797        "arena_promise",
3798        "channel_args",
3799        "closure",
3800        "error",
3801        "iomgr_fwd",
3802        "metadata_batch",
3803        "slice",
3804        "unique_type_name",
3805        "useful",
3806        "//:channel_arg_names",
3807        "//:debug_location",
3808        "//:exec_ctx",
3809        "//:gpr",
3810        "//:grpc_base",
3811        "//:grpc_security_base",
3812        "//:handshaker",
3813        "//:iomgr",
3814        "//:promise",
3815        "//:ref_counted_ptr",
3816        "//:resource_quota_api",
3817        "//:tsi_base",
3818        "//:tsi_fake_credentials",
3819    ],
3820)
3821
3822grpc_cc_library(
3823    name = "grpc_insecure_credentials",
3824    srcs = [
3825        "lib/security/credentials/insecure/insecure_credentials.cc",
3826        "lib/security/security_connector/insecure/insecure_security_connector.cc",
3827    ],
3828    hdrs = [
3829        "lib/security/credentials/insecure/insecure_credentials.h",
3830        "lib/security/security_connector/insecure/insecure_security_connector.h",
3831    ],
3832    external_deps = [
3833        "absl/status",
3834        "absl/strings",
3835    ],
3836    language = "c++",
3837    deps = [
3838        "arena_promise",
3839        "channel_args",
3840        "closure",
3841        "error",
3842        "iomgr_fwd",
3843        "tsi_local_credentials",
3844        "unique_type_name",
3845        "//:debug_location",
3846        "//:exec_ctx",
3847        "//:gpr",
3848        "//:grpc_base",
3849        "//:grpc_security_base",
3850        "//:handshaker",
3851        "//:iomgr",
3852        "//:promise",
3853        "//:ref_counted_ptr",
3854        "//:tsi_base",
3855    ],
3856)
3857
3858grpc_cc_library(
3859    name = "tsi_local_credentials",
3860    srcs = [
3861        "tsi/local_transport_security.cc",
3862    ],
3863    hdrs = [
3864        "tsi/local_transport_security.h",
3865    ],
3866    language = "c++",
3867    deps = [
3868        "//:event_engine_base_hdrs",
3869        "//:exec_ctx",
3870        "//:gpr",
3871        "//:tsi_base",
3872    ],
3873)
3874
3875grpc_cc_library(
3876    name = "grpc_local_credentials",
3877    srcs = [
3878        "lib/security/credentials/local/local_credentials.cc",
3879        "lib/security/security_connector/local/local_security_connector.cc",
3880    ],
3881    hdrs = [
3882        "lib/security/credentials/local/local_credentials.h",
3883        "lib/security/security_connector/local/local_security_connector.h",
3884    ],
3885    external_deps = [
3886        "absl/status",
3887        "absl/status:statusor",
3888        "absl/strings",
3889        "absl/types:optional",
3890    ],
3891    language = "c++",
3892    deps = [
3893        "arena_promise",
3894        "channel_args",
3895        "closure",
3896        "error",
3897        "grpc_sockaddr",
3898        "iomgr_fwd",
3899        "resolved_address",
3900        "tsi_local_credentials",
3901        "unique_type_name",
3902        "useful",
3903        "//:debug_location",
3904        "//:exec_ctx",
3905        "//:gpr",
3906        "//:grpc_base",
3907        "//:grpc_client_channel",
3908        "//:grpc_security_base",
3909        "//:handshaker",
3910        "//:iomgr",
3911        "//:parse_address",
3912        "//:promise",
3913        "//:ref_counted_ptr",
3914        "//:sockaddr_utils",
3915        "//:tsi_base",
3916        "//:uri_parser",
3917    ],
3918)
3919
3920grpc_cc_library(
3921    name = "grpc_ssl_credentials",
3922    srcs = [
3923        "lib/security/credentials/ssl/ssl_credentials.cc",
3924        "lib/security/security_connector/ssl/ssl_security_connector.cc",
3925    ],
3926    hdrs = [
3927        "lib/security/credentials/ssl/ssl_credentials.h",
3928        "lib/security/security_connector/ssl/ssl_security_connector.h",
3929    ],
3930    external_deps = [
3931        "absl/status",
3932        "absl/strings",
3933        "absl/strings:str_format",
3934        "absl/types:optional",
3935    ],
3936    language = "c++",
3937    deps = [
3938        "arena_promise",
3939        "channel_args",
3940        "closure",
3941        "error",
3942        "iomgr_fwd",
3943        "unique_type_name",
3944        "useful",
3945        "//:api_trace",
3946        "//:channel_arg_names",
3947        "//:debug_location",
3948        "//:exec_ctx",
3949        "//:gpr",
3950        "//:grpc_base",
3951        "//:grpc_security_base",
3952        "//:grpc_trace",
3953        "//:handshaker",
3954        "//:iomgr",
3955        "//:promise",
3956        "//:ref_counted_ptr",
3957        "//:tsi_base",
3958        "//:tsi_ssl_credentials",
3959        "//:tsi_ssl_session_cache",
3960    ],
3961)
3962
3963grpc_cc_library(
3964    name = "grpc_google_default_credentials",
3965    srcs = [
3966        "lib/security/credentials/google_default/credentials_generic.cc",
3967        "lib/security/credentials/google_default/google_default_credentials.cc",
3968    ],
3969    hdrs = [
3970        "lib/security/credentials/google_default/google_default_credentials.h",
3971        "load_balancing/grpclb/grpclb.h",
3972    ],
3973    external_deps = [
3974        "absl/status:statusor",
3975        "absl/strings",
3976        "absl/types:optional",
3977    ],
3978    language = "c++",
3979    tags = ["nofixdeps"],
3980    deps = [
3981        "channel_args",
3982        "closure",
3983        "env",
3984        "error",
3985        "error_utils",
3986        "grpc_external_account_credentials",
3987        "grpc_lb_xds_channel_args",
3988        "grpc_oauth2_credentials",
3989        "grpc_ssl_credentials",
3990        "iomgr_fwd",
3991        "json",
3992        "json_reader",
3993        "load_file",
3994        "slice",
3995        "slice_refcount",
3996        "status_helper",
3997        "time",
3998        "unique_type_name",
3999        "useful",
4000        "//:alts_util",
4001        "//:api_trace",
4002        "//:channel_arg_names",
4003        "//:exec_ctx",
4004        "//:gpr",
4005        "//:grpc_alts_credentials",
4006        "//:grpc_base",
4007        "//:grpc_jwt_credentials",
4008        "//:grpc_public_hdrs",
4009        "//:grpc_security_base",
4010        "//:grpc_trace",
4011        "//:httpcli",
4012        "//:iomgr",
4013        "//:orphanable",
4014        "//:ref_counted_ptr",
4015        "//:uri_parser",
4016    ],
4017)
4018
4019grpc_cc_library(
4020    name = "strerror",
4021    srcs = [
4022        "lib/gprpp/strerror.cc",
4023    ],
4024    hdrs = [
4025        "lib/gprpp/strerror.h",
4026    ],
4027    external_deps = ["absl/strings:str_format"],
4028    deps = ["//:gpr_platform"],
4029)
4030
4031grpc_cc_library(
4032    name = "grpc_tls_credentials",
4033    srcs = [
4034        "lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
4035        "lib/security/credentials/tls/grpc_tls_certificate_match.cc",
4036        "lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
4037        "lib/security/credentials/tls/grpc_tls_certificate_verifier.cc",
4038        "lib/security/credentials/tls/grpc_tls_credentials_options.cc",
4039        "lib/security/credentials/tls/tls_credentials.cc",
4040        "lib/security/security_connector/tls/tls_security_connector.cc",
4041    ],
4042    hdrs = [
4043        "lib/security/credentials/tls/grpc_tls_certificate_distributor.h",
4044        "lib/security/credentials/tls/grpc_tls_certificate_provider.h",
4045        "lib/security/credentials/tls/grpc_tls_certificate_verifier.h",
4046        "lib/security/credentials/tls/grpc_tls_credentials_options.h",
4047        "lib/security/credentials/tls/tls_credentials.h",
4048        "lib/security/security_connector/tls/tls_security_connector.h",
4049    ],
4050    external_deps = [
4051        "absl/base:core_headers",
4052        "absl/container:inlined_vector",
4053        "absl/functional:bind_front",
4054        "absl/status",
4055        "absl/status:statusor",
4056        "absl/strings",
4057        "absl/types:optional",
4058        "libcrypto",
4059        "libssl",
4060    ],
4061    language = "c++",
4062    deps = [
4063        "arena_promise",
4064        "channel_args",
4065        "closure",
4066        "error",
4067        "iomgr_fwd",
4068        "load_file",
4069        "ref_counted",
4070        "slice",
4071        "slice_refcount",
4072        "status_helper",
4073        "unique_type_name",
4074        "useful",
4075        "//:api_trace",
4076        "//:channel_arg_names",
4077        "//:debug_location",
4078        "//:exec_ctx",
4079        "//:gpr",
4080        "//:grpc_base",
4081        "//:grpc_credentials_util",
4082        "//:grpc_public_hdrs",
4083        "//:grpc_security_base",
4084        "//:grpc_trace",
4085        "//:handshaker",
4086        "//:iomgr",
4087        "//:promise",
4088        "//:ref_counted_ptr",
4089        "//:tsi_base",
4090        "//:tsi_ssl_credentials",
4091        "//:tsi_ssl_session_cache",
4092    ],
4093)
4094
4095grpc_cc_library(
4096    name = "grpc_iam_credentials",
4097    srcs = [
4098        "lib/security/credentials/iam/iam_credentials.cc",
4099    ],
4100    hdrs = [
4101        "lib/security/credentials/iam/iam_credentials.h",
4102    ],
4103    external_deps = [
4104        "absl/status:statusor",
4105        "absl/strings",
4106        "absl/strings:str_format",
4107        "absl/types:optional",
4108    ],
4109    language = "c++",
4110    deps = [
4111        "arena_promise",
4112        "metadata_batch",
4113        "slice",
4114        "unique_type_name",
4115        "useful",
4116        "//:api_trace",
4117        "//:exec_ctx",
4118        "//:gpr",
4119        "//:grpc_base",
4120        "//:grpc_security_base",
4121        "//:grpc_trace",
4122        "//:promise",
4123        "//:ref_counted_ptr",
4124    ],
4125)
4126
4127grpc_cc_library(
4128    name = "grpc_oauth2_credentials",
4129    srcs = [
4130        "lib/security/credentials/oauth2/oauth2_credentials.cc",
4131    ],
4132    hdrs = [
4133        "lib/security/credentials/oauth2/oauth2_credentials.h",
4134    ],
4135    external_deps = [
4136        "absl/status",
4137        "absl/status:statusor",
4138        "absl/strings",
4139        "absl/strings:str_format",
4140        "absl/types:optional",
4141    ],
4142    language = "c++",
4143    deps = [
4144        "activity",
4145        "arena_promise",
4146        "closure",
4147        "context",
4148        "error",
4149        "error_utils",
4150        "httpcli_ssl_credentials",
4151        "json",
4152        "json_reader",
4153        "load_file",
4154        "metadata_batch",
4155        "poll",
4156        "pollset_set",
4157        "ref_counted",
4158        "slice",
4159        "slice_refcount",
4160        "status_helper",
4161        "time",
4162        "unique_type_name",
4163        "useful",
4164        "//:api_trace",
4165        "//:gpr",
4166        "//:grpc_base",
4167        "//:grpc_credentials_util",
4168        "//:grpc_security_base",
4169        "//:grpc_trace",
4170        "//:httpcli",
4171        "//:iomgr",
4172        "//:orphanable",
4173        "//:promise",
4174        "//:ref_counted_ptr",
4175        "//:uri_parser",
4176    ],
4177)
4178
4179grpc_cc_library(
4180    name = "grpc_external_account_credentials",
4181    srcs = [
4182        "lib/security/credentials/external/aws_external_account_credentials.cc",
4183        "lib/security/credentials/external/aws_request_signer.cc",
4184        "lib/security/credentials/external/external_account_credentials.cc",
4185        "lib/security/credentials/external/file_external_account_credentials.cc",
4186        "lib/security/credentials/external/url_external_account_credentials.cc",
4187    ],
4188    hdrs = [
4189        "lib/security/credentials/external/aws_external_account_credentials.h",
4190        "lib/security/credentials/external/aws_request_signer.h",
4191        "lib/security/credentials/external/external_account_credentials.h",
4192        "lib/security/credentials/external/file_external_account_credentials.h",
4193        "lib/security/credentials/external/url_external_account_credentials.h",
4194    ],
4195    external_deps = [
4196        "absl/status",
4197        "absl/status:statusor",
4198        "absl/strings",
4199        "absl/strings:str_format",
4200        "absl/time",
4201        "absl/types:optional",
4202        "libcrypto",
4203    ],
4204    language = "c++",
4205    deps = [
4206        "closure",
4207        "env",
4208        "error",
4209        "error_utils",
4210        "grpc_oauth2_credentials",
4211        "httpcli_ssl_credentials",
4212        "json",
4213        "json_reader",
4214        "json_writer",
4215        "load_file",
4216        "slice",
4217        "slice_refcount",
4218        "status_helper",
4219        "time",
4220        "//:gpr",
4221        "//:grpc_base",
4222        "//:grpc_credentials_util",
4223        "//:grpc_security_base",
4224        "//:httpcli",
4225        "//:iomgr",
4226        "//:orphanable",
4227        "//:ref_counted_ptr",
4228        "//:uri_parser",
4229    ],
4230)
4231
4232grpc_cc_library(
4233    name = "httpcli_ssl_credentials",
4234    srcs = [
4235        "lib/http/httpcli_security_connector.cc",
4236    ],
4237    hdrs = [
4238        "lib/http/httpcli_ssl_credentials.h",
4239    ],
4240    external_deps = [
4241        "absl/status",
4242        "absl/strings",
4243        "absl/types:optional",
4244    ],
4245    language = "c++",
4246    deps = [
4247        "arena_promise",
4248        "channel_args",
4249        "closure",
4250        "error",
4251        "iomgr_fwd",
4252        "unique_type_name",
4253        "//:channel_arg_names",
4254        "//:debug_location",
4255        "//:exec_ctx",
4256        "//:gpr",
4257        "//:grpc_base",
4258        "//:grpc_security_base",
4259        "//:handshaker",
4260        "//:iomgr",
4261        "//:promise",
4262        "//:ref_counted_ptr",
4263        "//:tsi_base",
4264        "//:tsi_ssl_credentials",
4265    ],
4266)
4267
4268grpc_cc_library(
4269    name = "tsi_ssl_types",
4270    hdrs = [
4271        "tsi/ssl_types.h",
4272    ],
4273    external_deps = ["libssl"],
4274    language = "c++",
4275    deps = ["//:gpr_platform"],
4276)
4277
4278# This target depends on RE2 and should not be linked into grpc by default for binary-size reasons.
4279grpc_cc_library(
4280    name = "grpc_matchers",
4281    srcs = [
4282        "lib/matchers/matchers.cc",
4283    ],
4284    hdrs = [
4285        "lib/matchers/matchers.h",
4286    ],
4287    external_deps = [
4288        "absl/status",
4289        "absl/status:statusor",
4290        "absl/strings",
4291        "absl/strings:str_format",
4292        "absl/types:optional",
4293        "re2",
4294    ],
4295    language = "c++",
4296    deps = ["//:gpr"],
4297)
4298
4299# This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons.
4300grpc_cc_library(
4301    name = "grpc_rbac_engine",
4302    srcs = [
4303        "lib/security/authorization/grpc_authorization_engine.cc",
4304        "lib/security/authorization/matchers.cc",
4305        "lib/security/authorization/rbac_policy.cc",
4306    ],
4307    hdrs = [
4308        "lib/security/authorization/grpc_authorization_engine.h",
4309        "lib/security/authorization/matchers.h",
4310        "lib/security/authorization/rbac_policy.h",
4311    ],
4312    external_deps = [
4313        "absl/status",
4314        "absl/status:statusor",
4315        "absl/strings",
4316        "absl/strings:str_format",
4317        "absl/types:optional",
4318    ],
4319    language = "c++",
4320    deps = [
4321        "grpc_audit_logging",
4322        "grpc_authorization_base",
4323        "grpc_matchers",
4324        "resolved_address",
4325        "//:gpr",
4326        "//:grpc_base",
4327        "//:parse_address",
4328        "//:sockaddr_utils",
4329    ],
4330)
4331
4332grpc_cc_library(
4333    name = "json",
4334    hdrs = [
4335        "lib/json/json.h",
4336    ],
4337    deps = ["//:gpr"],
4338)
4339
4340grpc_cc_library(
4341    name = "json_reader",
4342    srcs = [
4343        "lib/json/json_reader.cc",
4344    ],
4345    hdrs = [
4346        "lib/json/json_reader.h",
4347    ],
4348    external_deps = [
4349        "absl/base:core_headers",
4350        "absl/status",
4351        "absl/status:statusor",
4352        "absl/strings",
4353        "absl/strings:str_format",
4354        "absl/types:variant",
4355    ],
4356    visibility = ["@grpc:json_reader_legacy"],
4357    deps = [
4358        "json",
4359        "match",
4360        "//:gpr",
4361    ],
4362)
4363
4364grpc_cc_library(
4365    name = "json_writer",
4366    srcs = [
4367        "lib/json/json_writer.cc",
4368    ],
4369    hdrs = [
4370        "lib/json/json_writer.h",
4371    ],
4372    external_deps = ["absl/strings"],
4373    deps = [
4374        "json",
4375        "//:gpr",
4376    ],
4377)
4378
4379grpc_cc_library(
4380    name = "json_util",
4381    srcs = ["lib/json/json_util.cc"],
4382    hdrs = ["lib/json/json_util.h"],
4383    external_deps = ["absl/strings"],
4384    deps = [
4385        "error",
4386        "json",
4387        "json_args",
4388        "json_object_loader",
4389        "no_destruct",
4390        "time",
4391        "validation_errors",
4392        "//:gpr",
4393    ],
4394)
4395
4396grpc_cc_library(
4397    name = "json_args",
4398    hdrs = ["lib/json/json_args.h"],
4399    external_deps = ["absl/strings"],
4400    deps = ["//:gpr"],
4401)
4402
4403grpc_cc_library(
4404    name = "json_object_loader",
4405    srcs = ["lib/json/json_object_loader.cc"],
4406    hdrs = ["lib/json/json_object_loader.h"],
4407    external_deps = [
4408        "absl/meta:type_traits",
4409        "absl/status",
4410        "absl/status:statusor",
4411        "absl/strings",
4412        "absl/types:optional",
4413    ],
4414    deps = [
4415        "json",
4416        "json_args",
4417        "no_destruct",
4418        "time",
4419        "validation_errors",
4420        "//:gpr",
4421        "//:ref_counted_ptr",
4422    ],
4423)
4424
4425grpc_cc_library(
4426    name = "json_channel_args",
4427    hdrs = ["lib/json/json_channel_args.h"],
4428    external_deps = [
4429        "absl/strings",
4430        "absl/types:optional",
4431    ],
4432    deps = [
4433        "channel_args",
4434        "json_args",
4435        "//:gpr",
4436    ],
4437)
4438
4439grpc_cc_library(
4440    name = "idle_filter_state",
4441    srcs = [
4442        "ext/filters/channel_idle/idle_filter_state.cc",
4443    ],
4444    hdrs = [
4445        "ext/filters/channel_idle/idle_filter_state.h",
4446    ],
4447    language = "c++",
4448    deps = ["//:gpr_platform"],
4449)
4450
4451grpc_cc_library(
4452    name = "grpc_channel_idle_filter",
4453    srcs = [
4454        "ext/filters/channel_idle/legacy_channel_idle_filter.cc",
4455    ],
4456    hdrs = [
4457        "ext/filters/channel_idle/legacy_channel_idle_filter.h",
4458    ],
4459    external_deps = [
4460        "absl/base:core_headers",
4461        "absl/meta:type_traits",
4462        "absl/random",
4463        "absl/status",
4464        "absl/status:statusor",
4465        "absl/types:optional",
4466    ],
4467    deps = [
4468        "activity",
4469        "arena_promise",
4470        "channel_args",
4471        "channel_fwd",
4472        "channel_stack_type",
4473        "closure",
4474        "connectivity_state",
4475        "error",
4476        "exec_ctx_wakeup_scheduler",
4477        "experiments",
4478        "http2_errors",
4479        "idle_filter_state",
4480        "loop",
4481        "metadata_batch",
4482        "no_destruct",
4483        "per_cpu",
4484        "poll",
4485        "single_set_ptr",
4486        "sleep",
4487        "status_helper",
4488        "time",
4489        "try_seq",
4490        "//:channel_arg_names",
4491        "//:config",
4492        "//:debug_location",
4493        "//:exec_ctx",
4494        "//:gpr",
4495        "//:grpc_base",
4496        "//:grpc_trace",
4497        "//:orphanable",
4498        "//:promise",
4499        "//:ref_counted_ptr",
4500    ],
4501)
4502
4503grpc_cc_library(
4504    name = "grpc_deadline_filter",
4505    srcs = [
4506        "ext/filters/deadline/deadline_filter.cc",
4507    ],
4508    hdrs = [
4509        "ext/filters/deadline/deadline_filter.h",
4510    ],
4511    external_deps = [
4512        "absl/status",
4513        "absl/types:optional",
4514    ],
4515    language = "c++",
4516    deps = [
4517        "arena",
4518        "arena_promise",
4519        "channel_fwd",
4520        "channel_stack_type",
4521        "closure",
4522        "context",
4523        "error",
4524        "metadata_batch",
4525        "status_helper",
4526        "time",
4527        "//:call_combiner",
4528        "//:channel_arg_names",
4529        "//:config",
4530        "//:debug_location",
4531        "//:exec_ctx",
4532        "//:gpr",
4533        "//:grpc_base",
4534        "//:grpc_public_hdrs",
4535        "//:iomgr_timer",
4536    ],
4537)
4538
4539grpc_cc_library(
4540    name = "grpc_client_authority_filter",
4541    srcs = [
4542        "ext/filters/http/client_authority_filter.cc",
4543    ],
4544    hdrs = [
4545        "ext/filters/http/client_authority_filter.h",
4546    ],
4547    external_deps = [
4548        "absl/status",
4549        "absl/status:statusor",
4550        "absl/strings",
4551        "absl/types:optional",
4552    ],
4553    language = "c++",
4554    deps = [
4555        "arena_promise",
4556        "channel_args",
4557        "channel_fwd",
4558        "channel_stack_type",
4559        "metadata_batch",
4560        "slice",
4561        "//:channel_arg_names",
4562        "//:config",
4563        "//:gpr_platform",
4564        "//:grpc_base",
4565        "//:grpc_security_base",
4566    ],
4567)
4568
4569grpc_cc_library(
4570    name = "grpc_message_size_filter",
4571    srcs = [
4572        "ext/filters/message_size/message_size_filter.cc",
4573    ],
4574    hdrs = [
4575        "ext/filters/message_size/message_size_filter.h",
4576    ],
4577    external_deps = [
4578        "absl/status:statusor",
4579        "absl/strings",
4580        "absl/strings:str_format",
4581        "absl/types:optional",
4582    ],
4583    language = "c++",
4584    deps = [
4585        "activity",
4586        "arena",
4587        "arena_promise",
4588        "channel_args",
4589        "channel_fwd",
4590        "channel_stack_type",
4591        "context",
4592        "grpc_deadline_filter",
4593        "grpc_service_config",
4594        "json",
4595        "json_args",
4596        "json_object_loader",
4597        "latch",
4598        "metadata_batch",
4599        "race",
4600        "service_config_parser",
4601        "slice",
4602        "slice_buffer",
4603        "validation_errors",
4604        "//:call_trace",
4605        "//:channel_arg_names",
4606        "//:config",
4607        "//:gpr",
4608        "//:grpc_base",
4609        "//:grpc_public_hdrs",
4610        "//:grpc_trace",
4611        "//:legacy_context",
4612    ],
4613)
4614
4615grpc_cc_library(
4616    name = "grpc_fault_injection_filter",
4617    srcs = [
4618        "ext/filters/fault_injection/fault_injection_filter.cc",
4619        "ext/filters/fault_injection/fault_injection_service_config_parser.cc",
4620    ],
4621    hdrs = [
4622        "ext/filters/fault_injection/fault_injection_filter.h",
4623        "ext/filters/fault_injection/fault_injection_service_config_parser.h",
4624    ],
4625    external_deps = [
4626        "absl/base:core_headers",
4627        "absl/meta:type_traits",
4628        "absl/random",
4629        "absl/status",
4630        "absl/status:statusor",
4631        "absl/strings",
4632        "absl/types:optional",
4633    ],
4634    language = "c++",
4635    deps = [
4636        "arena_promise",
4637        "channel_args",
4638        "channel_fwd",
4639        "context",
4640        "grpc_service_config",
4641        "json",
4642        "json_args",
4643        "json_object_loader",
4644        "metadata_batch",
4645        "service_config_parser",
4646        "sleep",
4647        "time",
4648        "try_seq",
4649        "validation_errors",
4650        "//:config",
4651        "//:gpr",
4652        "//:grpc_base",
4653        "//:grpc_public_hdrs",
4654        "//:grpc_trace",
4655        "//:legacy_context",
4656    ],
4657)
4658
4659grpc_cc_library(
4660    name = "grpc_rbac_filter",
4661    srcs = [
4662        "ext/filters/rbac/rbac_filter.cc",
4663        "ext/filters/rbac/rbac_service_config_parser.cc",
4664    ],
4665    hdrs = [
4666        "ext/filters/rbac/rbac_filter.h",
4667        "ext/filters/rbac/rbac_service_config_parser.h",
4668    ],
4669    external_deps = [
4670        "absl/status",
4671        "absl/status:statusor",
4672        "absl/strings",
4673        "absl/types:optional",
4674    ],
4675    language = "c++",
4676    deps = [
4677        "arena_promise",
4678        "channel_args",
4679        "channel_fwd",
4680        "context",
4681        "error",
4682        "grpc_audit_logging",
4683        "grpc_authorization_base",
4684        "grpc_matchers",
4685        "grpc_rbac_engine",
4686        "grpc_service_config",
4687        "json",
4688        "json_args",
4689        "json_object_loader",
4690        "metadata_batch",
4691        "service_config_parser",
4692        "validation_errors",
4693        "//:config",
4694        "//:gpr",
4695        "//:grpc_base",
4696        "//:grpc_security_base",
4697        "//:legacy_context",
4698        "//:promise",
4699    ],
4700)
4701
4702grpc_cc_library(
4703    name = "grpc_stateful_session_filter",
4704    srcs = [
4705        "ext/filters/stateful_session/stateful_session_filter.cc",
4706        "ext/filters/stateful_session/stateful_session_service_config_parser.cc",
4707    ],
4708    hdrs = [
4709        "ext/filters/stateful_session/stateful_session_filter.h",
4710        "ext/filters/stateful_session/stateful_session_service_config_parser.h",
4711    ],
4712    external_deps = [
4713        "absl/status:statusor",
4714        "absl/strings",
4715        "absl/types:optional",
4716    ],
4717    language = "c++",
4718    deps = [
4719        "arena",
4720        "arena_promise",
4721        "channel_args",
4722        "channel_fwd",
4723        "context",
4724        "grpc_resolver_xds_attributes",
4725        "grpc_service_config",
4726        "json",
4727        "json_args",
4728        "json_object_loader",
4729        "map",
4730        "metadata_batch",
4731        "pipe",
4732        "ref_counted_string",
4733        "service_config_parser",
4734        "slice",
4735        "time",
4736        "unique_type_name",
4737        "validation_errors",
4738        "//:config",
4739        "//:gpr",
4740        "//:grpc_base",
4741        "//:grpc_trace",
4742        "//:legacy_context",
4743    ],
4744)
4745
4746grpc_cc_library(
4747    name = "grpc_lb_policy_grpclb",
4748    srcs = [
4749        "load_balancing/grpclb/client_load_reporting_filter.cc",
4750        "load_balancing/grpclb/grpclb.cc",
4751        "load_balancing/grpclb/grpclb_client_stats.cc",
4752        "load_balancing/grpclb/load_balancer_api.cc",
4753    ],
4754    hdrs = [
4755        "load_balancing/grpclb/client_load_reporting_filter.h",
4756        "load_balancing/grpclb/grpclb.h",
4757        "load_balancing/grpclb/grpclb_client_stats.h",
4758        "load_balancing/grpclb/load_balancer_api.h",
4759    ],
4760    external_deps = [
4761        "absl/base:core_headers",
4762        "absl/container:inlined_vector",
4763        "absl/functional:function_ref",
4764        "absl/status",
4765        "absl/status:statusor",
4766        "absl/strings",
4767        "absl/strings:str_format",
4768        "absl/types:optional",
4769        "absl/types:variant",
4770        "upb_base_lib",
4771        "upb_mem_lib",
4772    ],
4773    language = "c++",
4774    deps = [
4775        "arena",
4776        "arena_promise",
4777        "channel_args",
4778        "channel_fwd",
4779        "channel_stack_type",
4780        "closure",
4781        "connectivity_state",
4782        "context",
4783        "delegating_helper",
4784        "error",
4785        "experiments",
4786        "gpr_atm",
4787        "grpc_sockaddr",
4788        "json",
4789        "json_args",
4790        "json_object_loader",
4791        "lb_policy",
4792        "lb_policy_factory",
4793        "lb_policy_registry",
4794        "map",
4795        "metadata_batch",
4796        "pipe",
4797        "pollset_set",
4798        "ref_counted",
4799        "resolved_address",
4800        "slice",
4801        "slice_refcount",
4802        "status_helper",
4803        "subchannel_interface",
4804        "time",
4805        "useful",
4806        "validation_errors",
4807        "//:backoff",
4808        "//:channel",
4809        "//:channel_arg_names",
4810        "//:channel_create",
4811        "//:channelz",
4812        "//:config",
4813        "//:debug_location",
4814        "//:endpoint_addresses",
4815        "//:exec_ctx",
4816        "//:gpr",
4817        "//:grpc_base",
4818        "//:grpc_client_channel",
4819        "//:grpc_grpclb_balancer_addresses",
4820        "//:grpc_lb_upb",
4821        "//:grpc_public_hdrs",
4822        "//:grpc_resolver",
4823        "//:grpc_resolver_fake",
4824        "//:grpc_security_base",
4825        "//:grpc_trace",
4826        "//:lb_child_policy_handler",
4827        "//:orphanable",
4828        "//:protobuf_duration_upb",
4829        "//:protobuf_timestamp_upb",
4830        "//:ref_counted_ptr",
4831        "//:sockaddr_utils",
4832        "//:work_serializer",
4833    ],
4834)
4835
4836grpc_cc_library(
4837    name = "random_early_detection",
4838    srcs = [
4839        "lib/backoff/random_early_detection.cc",
4840    ],
4841    hdrs = [
4842        "lib/backoff/random_early_detection.h",
4843    ],
4844    external_deps = [
4845        "absl/random:bit_gen_ref",
4846        "absl/random:distributions",
4847    ],
4848    deps = ["//:gpr_platform"],
4849)
4850
4851grpc_cc_library(
4852    name = "grpc_backend_metric_data",
4853    hdrs = [
4854        "load_balancing/backend_metric_data.h",
4855    ],
4856    external_deps = ["absl/strings"],
4857    language = "c++",
4858    deps = ["//:gpr_platform"],
4859)
4860
4861grpc_cc_library(
4862    name = "grpc_backend_metric_provider",
4863    hdrs = [
4864        "ext/filters/backend_metrics/backend_metric_provider.h",
4865    ],
4866    language = "c++",
4867)
4868
4869grpc_cc_library(
4870    name = "grpc_lb_policy_rls",
4871    srcs = [
4872        "load_balancing/rls/rls.cc",
4873    ],
4874    hdrs = [
4875        "load_balancing/rls/rls.h",
4876    ],
4877    external_deps = [
4878        "absl/base:core_headers",
4879        "absl/hash",
4880        "absl/random",
4881        "absl/status",
4882        "absl/status:statusor",
4883        "absl/strings",
4884        "absl/strings:str_format",
4885        "absl/types:optional",
4886        "upb_base_lib",
4887        "upb_mem_lib",
4888    ],
4889    language = "c++",
4890    deps = [
4891        "channel_args",
4892        "closure",
4893        "connectivity_state",
4894        "delegating_helper",
4895        "dual_ref_counted",
4896        "error",
4897        "error_utils",
4898        "grpc_fake_credentials",
4899        "json",
4900        "json_args",
4901        "json_object_loader",
4902        "json_writer",
4903        "lb_policy",
4904        "lb_policy_factory",
4905        "lb_policy_registry",
4906        "match",
4907        "metrics",
4908        "pollset_set",
4909        "slice",
4910        "slice_refcount",
4911        "status_helper",
4912        "time",
4913        "uuid_v4",
4914        "validation_errors",
4915        "//:backoff",
4916        "//:channel",
4917        "//:channel_arg_names",
4918        "//:channel_create",
4919        "//:channelz",
4920        "//:config",
4921        "//:debug_location",
4922        "//:endpoint_addresses",
4923        "//:exec_ctx",
4924        "//:gpr",
4925        "//:grpc_base",
4926        "//:grpc_client_channel",
4927        "//:grpc_public_hdrs",
4928        "//:grpc_resolver",
4929        "//:grpc_security_base",
4930        "//:grpc_service_config_impl",
4931        "//:grpc_trace",
4932        "//:lb_child_policy_handler",
4933        "//:orphanable",
4934        "//:ref_counted_ptr",
4935        "//:rls_upb",
4936        "//:work_serializer",
4937    ],
4938)
4939
4940grpc_cc_library(
4941    name = "upb_utils",
4942    hdrs = [
4943        "ext/xds/upb_utils.h",
4944    ],
4945    external_deps = [
4946        "absl/strings",
4947        "upb_base_lib",
4948    ],
4949    language = "c++",
4950    deps = ["//:gpr_platform"],
4951)
4952
4953grpc_cc_library(
4954    name = "xds_enabled_server",
4955    hdrs = [
4956        "ext/xds/xds_enabled_server.h",
4957    ],
4958    language = "c++",
4959)
4960
4961grpc_cc_library(
4962    name = "grpc_xds_client",
4963    srcs = [
4964        "ext/xds/certificate_provider_store.cc",
4965        "ext/xds/file_watcher_certificate_provider_factory.cc",
4966        "ext/xds/xds_audit_logger_registry.cc",
4967        "ext/xds/xds_bootstrap_grpc.cc",
4968        "ext/xds/xds_certificate_provider.cc",
4969        "ext/xds/xds_client_grpc.cc",
4970        "ext/xds/xds_cluster.cc",
4971        "ext/xds/xds_cluster_specifier_plugin.cc",
4972        "ext/xds/xds_common_types.cc",
4973        "ext/xds/xds_endpoint.cc",
4974        "ext/xds/xds_health_status.cc",
4975        "ext/xds/xds_http_fault_filter.cc",
4976        "ext/xds/xds_http_filters.cc",
4977        "ext/xds/xds_http_rbac_filter.cc",
4978        "ext/xds/xds_http_stateful_session_filter.cc",
4979        "ext/xds/xds_lb_policy_registry.cc",
4980        "ext/xds/xds_listener.cc",
4981        "ext/xds/xds_route_config.cc",
4982        "ext/xds/xds_routing.cc",
4983        "ext/xds/xds_transport_grpc.cc",
4984        "lib/security/credentials/xds/xds_credentials.cc",
4985    ],
4986    hdrs = [
4987        "ext/xds/certificate_provider_store.h",
4988        "ext/xds/file_watcher_certificate_provider_factory.h",
4989        "ext/xds/xds_audit_logger_registry.h",
4990        "ext/xds/xds_bootstrap_grpc.h",
4991        "ext/xds/xds_certificate_provider.h",
4992        "ext/xds/xds_client_grpc.h",
4993        "ext/xds/xds_cluster.h",
4994        "ext/xds/xds_cluster_specifier_plugin.h",
4995        "ext/xds/xds_common_types.h",
4996        "ext/xds/xds_endpoint.h",
4997        "ext/xds/xds_health_status.h",
4998        "ext/xds/xds_http_fault_filter.h",
4999        "ext/xds/xds_http_filters.h",
5000        "ext/xds/xds_http_rbac_filter.h",
5001        "ext/xds/xds_http_stateful_session_filter.h",
5002        "ext/xds/xds_lb_policy_registry.h",
5003        "ext/xds/xds_listener.h",
5004        "ext/xds/xds_route_config.h",
5005        "ext/xds/xds_routing.h",
5006        "ext/xds/xds_transport_grpc.h",
5007        "lib/security/credentials/xds/xds_credentials.h",
5008    ],
5009    external_deps = [
5010        "absl/base:core_headers",
5011        "absl/cleanup",
5012        "absl/functional:bind_front",
5013        "absl/memory",
5014        "absl/random",
5015        "absl/status",
5016        "absl/status:statusor",
5017        "absl/strings",
5018        "absl/strings:str_format",
5019        "absl/synchronization",
5020        "absl/types:optional",
5021        "absl/types:span",
5022        "absl/types:variant",
5023        "upb_base_lib",
5024        "upb_mem_lib",
5025        "upb_textformat_lib",
5026        "upb_json_lib",
5027        "re2",
5028        "upb_reflection",
5029        "upb_message_lib",
5030    ],
5031    language = "c++",
5032    tags = ["nofixdeps"],
5033    deps = [
5034        "certificate_provider_factory",
5035        "certificate_provider_registry",
5036        "channel_args",
5037        "channel_creds_registry",
5038        "channel_fwd",
5039        "closure",
5040        "connectivity_state",
5041        "default_event_engine",
5042        "env",
5043        "envoy_admin_upb",
5044        "envoy_config_cluster_upb",
5045        "envoy_config_cluster_upbdefs",
5046        "envoy_config_core_upb",
5047        "envoy_config_endpoint_upb",
5048        "envoy_config_endpoint_upbdefs",
5049        "envoy_config_listener_upb",
5050        "envoy_config_listener_upbdefs",
5051        "envoy_config_rbac_upb",
5052        "envoy_config_route_upb",
5053        "envoy_config_route_upbdefs",
5054        "envoy_extensions_clusters_aggregate_upb",
5055        "envoy_extensions_clusters_aggregate_upbdefs",
5056        "envoy_extensions_filters_common_fault_upb",
5057        "envoy_extensions_filters_http_fault_upb",
5058        "envoy_extensions_filters_http_fault_upbdefs",
5059        "envoy_extensions_filters_http_rbac_upb",
5060        "envoy_extensions_filters_http_rbac_upbdefs",
5061        "envoy_extensions_filters_http_router_upb",
5062        "envoy_extensions_filters_http_router_upbdefs",
5063        "envoy_extensions_filters_http_stateful_session_upb",
5064        "envoy_extensions_filters_http_stateful_session_upbdefs",
5065        "envoy_extensions_filters_network_http_connection_manager_upb",
5066        "envoy_extensions_filters_network_http_connection_manager_upbdefs",
5067        "envoy_extensions_http_stateful_session_cookie_upb",
5068        "envoy_extensions_http_stateful_session_cookie_upbdefs",
5069        "envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_upb",
5070        "envoy_extensions_load_balancing_policies_pick_first_upb",
5071        "envoy_extensions_load_balancing_policies_ring_hash_upb",
5072        "envoy_extensions_load_balancing_policies_wrr_locality_upb",
5073        "envoy_extensions_transport_sockets_tls_upb",
5074        "envoy_extensions_transport_sockets_tls_upbdefs",
5075        "envoy_extensions_upstreams_http_upb",
5076        "envoy_extensions_upstreams_http_upbdefs",
5077        "envoy_service_discovery_upb",
5078        "envoy_service_discovery_upbdefs",
5079        "envoy_service_load_stats_upb",
5080        "envoy_service_load_stats_upbdefs",
5081        "envoy_service_status_upb",
5082        "envoy_service_status_upbdefs",
5083        "envoy_type_http_upb",
5084        "envoy_type_matcher_upb",
5085        "envoy_type_upb",
5086        "error",
5087        "error_utils",
5088        "google_rpc_status_upb",
5089        "grpc_audit_logging",
5090        "grpc_fake_credentials",
5091        "grpc_fault_injection_filter",
5092        "grpc_lb_policy_pick_first",
5093        "grpc_lb_xds_channel_args",
5094        "grpc_matchers",
5095        "grpc_outlier_detection_header",
5096        "grpc_rbac_filter",
5097        "grpc_sockaddr",
5098        "grpc_stateful_session_filter",
5099        "grpc_tls_credentials",
5100        "grpc_transport_chttp2_client_connector",
5101        "init_internally",
5102        "iomgr_fwd",
5103        "json",
5104        "json_args",
5105        "json_object_loader",
5106        "json_reader",
5107        "json_util",
5108        "json_writer",
5109        "lb_policy_registry",
5110        "load_file",
5111        "match",
5112        "metadata_batch",
5113        "metrics",
5114        "pollset_set",
5115        "protobuf_any_upb",
5116        "protobuf_duration_upb",
5117        "protobuf_struct_upb",
5118        "protobuf_struct_upbdefs",
5119        "protobuf_timestamp_upb",
5120        "protobuf_wrappers_upb",
5121        "ref_counted",
5122        "resolved_address",
5123        "rls_config_upb",
5124        "rls_config_upbdefs",
5125        "slice",
5126        "slice_refcount",
5127        "status_conversion",
5128        "status_helper",
5129        "time",
5130        "unique_type_name",
5131        "upb_utils",
5132        "useful",
5133        "validation_errors",
5134        "xds_type_upb",
5135        "xds_type_upbdefs",
5136        "//:channel",
5137        "//:channel_arg_names",
5138        "//:channel_create",
5139        "//:config",
5140        "//:debug_location",
5141        "//:endpoint_addresses",
5142        "//:exec_ctx",
5143        "//:gpr",
5144        "//:grpc_base",
5145        "//:grpc_client_channel",
5146        "//:grpc_credentials_util",
5147        "//:grpc_public_hdrs",
5148        "//:grpc_security_base",
5149        "//:grpc_trace",
5150        "//:iomgr",
5151        "//:iomgr_timer",
5152        "//:orphanable",
5153        "//:parse_address",
5154        "//:ref_counted_ptr",
5155        "//:sockaddr_utils",
5156        "//:tsi_ssl_credentials",
5157        "//:uri_parser",
5158        "//:work_serializer",
5159        "//:xds_client",
5160    ],
5161)
5162
5163grpc_cc_library(
5164    name = "grpc_xds_channel_stack_modifier",
5165    srcs = [
5166        "ext/xds/xds_channel_stack_modifier.cc",
5167    ],
5168    hdrs = [
5169        "ext/xds/xds_channel_stack_modifier.h",
5170    ],
5171    external_deps = ["absl/strings"],
5172    language = "c++",
5173    deps = [
5174        "channel_args",
5175        "channel_fwd",
5176        "channel_init",
5177        "channel_stack_type",
5178        "ref_counted",
5179        "useful",
5180        "//:channel_stack_builder",
5181        "//:config",
5182        "//:gpr_platform",
5183        "//:grpc_base",
5184        "//:ref_counted_ptr",
5185    ],
5186)
5187
5188grpc_cc_library(
5189    name = "grpc_xds_server_config_fetcher",
5190    srcs = [
5191        "ext/xds/xds_server_config_fetcher.cc",
5192    ],
5193    external_deps = [
5194        "absl/base:core_headers",
5195        "absl/status",
5196        "absl/status:statusor",
5197        "absl/strings",
5198        "absl/types:optional",
5199        "absl/types:variant",
5200    ],
5201    language = "c++",
5202    deps = [
5203        "channel_args",
5204        "channel_args_preconditioning",
5205        "channel_fwd",
5206        "grpc_server_config_selector",
5207        "grpc_server_config_selector_filter",
5208        "grpc_service_config",
5209        "grpc_sockaddr",
5210        "grpc_tls_credentials",
5211        "grpc_xds_channel_stack_modifier",
5212        "grpc_xds_client",
5213        "iomgr_fwd",
5214        "match",
5215        "metadata_batch",
5216        "resolved_address",
5217        "slice_refcount",
5218        "unique_type_name",
5219        "//:api_trace",
5220        "//:config",
5221        "//:debug_location",
5222        "//:exec_ctx",
5223        "//:gpr",
5224        "//:grpc_base",
5225        "//:grpc_public_hdrs",
5226        "//:grpc_security_base",
5227        "//:grpc_service_config_impl",
5228        "//:grpc_trace",
5229        "//:iomgr",
5230        "//:parse_address",
5231        "//:ref_counted_ptr",
5232        "//:server",
5233        "//:sockaddr_utils",
5234        "//:uri_parser",
5235        "//:xds_client",
5236    ],
5237)
5238
5239grpc_cc_library(
5240    name = "channel_creds_registry_init",
5241    srcs = [
5242        "lib/security/credentials/channel_creds_registry_init.cc",
5243    ],
5244    external_deps = ["absl/strings"],
5245    language = "c++",
5246    deps = [
5247        "channel_creds_registry",
5248        "grpc_fake_credentials",
5249        "grpc_google_default_credentials",
5250        "grpc_tls_credentials",
5251        "json",
5252        "json_args",
5253        "json_object_loader",
5254        "time",
5255        "validation_errors",
5256        "//:config",
5257        "//:gpr",
5258        "//:gpr_platform",
5259        "//:grpc_security_base",
5260        "//:ref_counted_ptr",
5261    ],
5262)
5263
5264grpc_cc_library(
5265    name = "grpc_lb_policy_cds",
5266    srcs = [
5267        "load_balancing/xds/cds.cc",
5268    ],
5269    external_deps = [
5270        "absl/status",
5271        "absl/status:statusor",
5272        "absl/strings",
5273        "absl/types:optional",
5274        "absl/types:variant",
5275    ],
5276    language = "c++",
5277    deps = [
5278        "channel_args",
5279        "delegating_helper",
5280        "env",
5281        "grpc_lb_address_filtering",
5282        "grpc_lb_xds_channel_args",
5283        "grpc_outlier_detection_header",
5284        "grpc_xds_client",
5285        "json",
5286        "json_args",
5287        "json_object_loader",
5288        "json_writer",
5289        "lb_policy",
5290        "lb_policy_factory",
5291        "lb_policy_registry",
5292        "match",
5293        "pollset_set",
5294        "time",
5295        "unique_type_name",
5296        "xds_dependency_manager",
5297        "//:config",
5298        "//:debug_location",
5299        "//:gpr",
5300        "//:grpc_base",
5301        "//:grpc_security_base",
5302        "//:grpc_trace",
5303        "//:orphanable",
5304        "//:ref_counted_ptr",
5305        "//:work_serializer",
5306        "//:xds_client",
5307    ],
5308)
5309
5310grpc_cc_library(
5311    name = "grpc_lb_xds_channel_args",
5312    hdrs = [
5313        "load_balancing/xds/xds_channel_args.h",
5314    ],
5315    language = "c++",
5316    deps = [
5317        "//:endpoint_addresses",
5318        "//:gpr_platform",
5319    ],
5320)
5321
5322grpc_cc_library(
5323    name = "grpc_lb_policy_xds_cluster_impl",
5324    srcs = [
5325        "load_balancing/xds/xds_cluster_impl.cc",
5326    ],
5327    external_deps = [
5328        "absl/base:core_headers",
5329        "absl/status",
5330        "absl/status:statusor",
5331        "absl/strings",
5332        "absl/types:optional",
5333        "absl/types:variant",
5334    ],
5335    language = "c++",
5336    deps = [
5337        "channel_args",
5338        "client_channel_internal_header",
5339        "connectivity_state",
5340        "delegating_helper",
5341        "grpc_backend_metric_data",
5342        "grpc_lb_xds_channel_args",
5343        "grpc_xds_client",
5344        "json",
5345        "json_args",
5346        "json_object_loader",
5347        "lb_policy",
5348        "lb_policy_factory",
5349        "lb_policy_registry",
5350        "match",
5351        "pollset_set",
5352        "ref_counted",
5353        "ref_counted_string",
5354        "resolved_address",
5355        "subchannel_interface",
5356        "validation_errors",
5357        "xds_dependency_manager",
5358        "//:call_tracer",
5359        "//:config",
5360        "//:debug_location",
5361        "//:endpoint_addresses",
5362        "//:gpr",
5363        "//:grpc_base",
5364        "//:grpc_client_channel",
5365        "//:grpc_trace",
5366        "//:lb_child_policy_handler",
5367        "//:orphanable",
5368        "//:ref_counted_ptr",
5369        "//:xds_client",
5370    ],
5371)
5372
5373grpc_cc_library(
5374    name = "grpc_lb_policy_xds_cluster_manager",
5375    srcs = [
5376        "load_balancing/xds/xds_cluster_manager.cc",
5377    ],
5378    external_deps = [
5379        "absl/status",
5380        "absl/status:statusor",
5381        "absl/strings",
5382        "absl/types:optional",
5383    ],
5384    language = "c++",
5385    deps = [
5386        "channel_args",
5387        "client_channel_internal_header",
5388        "connectivity_state",
5389        "delegating_helper",
5390        "grpc_resolver_xds_attributes",
5391        "json",
5392        "json_args",
5393        "json_object_loader",
5394        "lb_policy",
5395        "lb_policy_factory",
5396        "lb_policy_registry",
5397        "pollset_set",
5398        "time",
5399        "validation_errors",
5400        "//:config",
5401        "//:debug_location",
5402        "//:endpoint_addresses",
5403        "//:exec_ctx",
5404        "//:gpr",
5405        "//:gpr_platform",
5406        "//:grpc_base",
5407        "//:grpc_client_channel",
5408        "//:grpc_trace",
5409        "//:lb_child_policy_handler",
5410        "//:orphanable",
5411        "//:ref_counted_ptr",
5412        "//:work_serializer",
5413    ],
5414)
5415
5416grpc_cc_library(
5417    name = "grpc_lb_policy_xds_wrr_locality",
5418    srcs = [
5419        "load_balancing/xds/xds_wrr_locality.cc",
5420    ],
5421    external_deps = [
5422        "absl/status",
5423        "absl/status:statusor",
5424        "absl/strings",
5425        "absl/types:optional",
5426    ],
5427    language = "c++",
5428    deps = [
5429        "channel_args",
5430        "delegating_helper",
5431        "grpc_lb_xds_channel_args",
5432        "json",
5433        "json_args",
5434        "json_object_loader",
5435        "json_writer",
5436        "lb_policy",
5437        "lb_policy_factory",
5438        "lb_policy_registry",
5439        "pollset_set",
5440        "ref_counted_string",
5441        "validation_errors",
5442        "//:config",
5443        "//:debug_location",
5444        "//:endpoint_addresses",
5445        "//:gpr",
5446        "//:grpc_base",
5447        "//:grpc_trace",
5448        "//:orphanable",
5449        "//:ref_counted_ptr",
5450        "//:xds_client",
5451    ],
5452)
5453
5454grpc_cc_library(
5455    name = "grpc_lb_address_filtering",
5456    srcs = [
5457        "load_balancing/address_filtering.cc",
5458    ],
5459    hdrs = [
5460        "load_balancing/address_filtering.h",
5461    ],
5462    external_deps = [
5463        "absl/functional:function_ref",
5464        "absl/status:statusor",
5465        "absl/strings",
5466    ],
5467    language = "c++",
5468    deps = [
5469        "channel_args",
5470        "ref_counted",
5471        "ref_counted_string",
5472        "resolved_address",
5473        "//:endpoint_addresses",
5474        "//:gpr_platform",
5475        "//:ref_counted_ptr",
5476    ],
5477)
5478
5479grpc_cc_library(
5480    name = "health_check_client",
5481    srcs = [
5482        "load_balancing/health_check_client.cc",
5483    ],
5484    hdrs = [
5485        "load_balancing/health_check_client.h",
5486        "load_balancing/health_check_client_internal.h",
5487    ],
5488    external_deps = [
5489        "absl/base:core_headers",
5490        "absl/status",
5491        "absl/status:statusor",
5492        "absl/strings",
5493        "absl/types:optional",
5494        "upb_base_lib",
5495        "upb_mem_lib",
5496    ],
5497    language = "c++",
5498    deps = [
5499        "channel_args",
5500        "client_channel_channelz",
5501        "client_channel_internal_header",
5502        "closure",
5503        "connectivity_state",
5504        "error",
5505        "iomgr_fwd",
5506        "pollset_set",
5507        "slice",
5508        "subchannel_interface",
5509        "unique_type_name",
5510        "//:channel_arg_names",
5511        "//:channelz",
5512        "//:debug_location",
5513        "//:exec_ctx",
5514        "//:gpr",
5515        "//:grpc_base",
5516        "//:grpc_client_channel",
5517        "//:grpc_health_upb",
5518        "//:grpc_public_hdrs",
5519        "//:grpc_trace",
5520        "//:orphanable",
5521        "//:ref_counted_ptr",
5522        "//:sockaddr_utils",
5523        "//:work_serializer",
5524    ],
5525)
5526
5527grpc_cc_library(
5528    name = "lb_endpoint_list",
5529    srcs = [
5530        "load_balancing/endpoint_list.cc",
5531    ],
5532    hdrs = [
5533        "load_balancing/endpoint_list.h",
5534    ],
5535    external_deps = [
5536        "absl/functional:function_ref",
5537        "absl/status",
5538        "absl/status:statusor",
5539        "absl/types:optional",
5540    ],
5541    language = "c++",
5542    deps = [
5543        "channel_args",
5544        "delegating_helper",
5545        "grpc_lb_policy_pick_first",
5546        "json",
5547        "lb_policy",
5548        "lb_policy_registry",
5549        "pollset_set",
5550        "resolved_address",
5551        "subchannel_interface",
5552        "//:config",
5553        "//:debug_location",
5554        "//:endpoint_addresses",
5555        "//:gpr",
5556        "//:grpc_base",
5557        "//:orphanable",
5558        "//:ref_counted_ptr",
5559        "//:work_serializer",
5560    ],
5561)
5562
5563grpc_cc_library(
5564    name = "grpc_lb_policy_pick_first",
5565    srcs = [
5566        "load_balancing/pick_first/pick_first.cc",
5567    ],
5568    hdrs = [
5569        "load_balancing/pick_first/pick_first.h",
5570    ],
5571    external_deps = [
5572        "absl/algorithm:container",
5573        "absl/random",
5574        "absl/status",
5575        "absl/status:statusor",
5576        "absl/strings",
5577        "absl/types:optional",
5578    ],
5579    language = "c++",
5580    deps = [
5581        "channel_args",
5582        "connectivity_state",
5583        "health_check_client",
5584        "iomgr_fwd",
5585        "json",
5586        "json_args",
5587        "json_object_loader",
5588        "lb_policy",
5589        "lb_policy_factory",
5590        "metrics",
5591        "resolved_address",
5592        "subchannel_interface",
5593        "time",
5594        "useful",
5595        "//:channel_arg_names",
5596        "//:config",
5597        "//:debug_location",
5598        "//:endpoint_addresses",
5599        "//:exec_ctx",
5600        "//:gpr",
5601        "//:grpc_base",
5602        "//:grpc_trace",
5603        "//:orphanable",
5604        "//:ref_counted_ptr",
5605        "//:sockaddr_utils",
5606        "//:work_serializer",
5607    ],
5608)
5609
5610grpc_cc_library(
5611    name = "down_cast",
5612    hdrs = ["lib/gprpp/down_cast.h"],
5613    external_deps = ["absl/base:config"],
5614    deps = ["//:gpr"],
5615)
5616
5617grpc_cc_library(
5618    name = "status_conversion",
5619    srcs = ["lib/transport/status_conversion.cc"],
5620    hdrs = ["lib/transport/status_conversion.h"],
5621    deps = [
5622        "http2_errors",
5623        "time",
5624        "//:gpr_platform",
5625        "//:grpc_public_hdrs",
5626    ],
5627)
5628
5629grpc_cc_library(
5630    name = "error_utils",
5631    srcs = ["lib/transport/error_utils.cc"],
5632    hdrs = [
5633        "lib/transport/error_utils.h",
5634    ],
5635    external_deps = ["absl/status"],
5636    deps = [
5637        "error",
5638        "http2_errors",
5639        "status_conversion",
5640        "status_helper",
5641        "time",
5642        "//:gpr",
5643        "//:grpc_public_hdrs",
5644    ],
5645)
5646
5647grpc_cc_library(
5648    name = "connectivity_state",
5649    srcs = [
5650        "lib/transport/connectivity_state.cc",
5651    ],
5652    hdrs = [
5653        "lib/transport/connectivity_state.h",
5654    ],
5655    external_deps = ["absl/status"],
5656    deps = [
5657        "closure",
5658        "error",
5659        "//:debug_location",
5660        "//:exec_ctx",
5661        "//:gpr",
5662        "//:grpc_public_hdrs",
5663        "//:grpc_trace",
5664        "//:orphanable",
5665        "//:ref_counted_ptr",
5666        "//:work_serializer",
5667    ],
5668)
5669
5670grpc_cc_library(
5671    name = "xxhash_inline",
5672    hdrs = ["lib/gprpp/xxhash_inline.h"],
5673    external_deps = ["xxhash"],
5674    language = "c++",
5675    deps = ["//:gpr_platform"],
5676)
5677
5678grpc_cc_library(
5679    name = "grpc_lb_policy_ring_hash",
5680    srcs = [
5681        "load_balancing/ring_hash/ring_hash.cc",
5682    ],
5683    hdrs = [
5684        "load_balancing/ring_hash/ring_hash.h",
5685    ],
5686    external_deps = [
5687        "absl/base:core_headers",
5688        "absl/container:inlined_vector",
5689        "absl/status",
5690        "absl/status:statusor",
5691        "absl/strings",
5692        "absl/types:optional",
5693    ],
5694    language = "c++",
5695    deps = [
5696        "channel_args",
5697        "client_channel_internal_header",
5698        "closure",
5699        "connectivity_state",
5700        "delegating_helper",
5701        "error",
5702        "grpc_lb_policy_pick_first",
5703        "grpc_service_config",
5704        "json",
5705        "json_args",
5706        "json_object_loader",
5707        "lb_policy",
5708        "lb_policy_factory",
5709        "lb_policy_registry",
5710        "pollset_set",
5711        "ref_counted",
5712        "resolved_address",
5713        "unique_type_name",
5714        "validation_errors",
5715        "xxhash_inline",
5716        "//:channel_arg_names",
5717        "//:config",
5718        "//:debug_location",
5719        "//:endpoint_addresses",
5720        "//:exec_ctx",
5721        "//:gpr",
5722        "//:grpc_base",
5723        "//:grpc_client_channel",
5724        "//:grpc_trace",
5725        "//:orphanable",
5726        "//:ref_counted_ptr",
5727        "//:sockaddr_utils",
5728        "//:work_serializer",
5729    ],
5730)
5731
5732grpc_cc_library(
5733    name = "grpc_lb_policy_round_robin",
5734    srcs = [
5735        "load_balancing/round_robin/round_robin.cc",
5736    ],
5737    external_deps = [
5738        "absl/meta:type_traits",
5739        "absl/random",
5740        "absl/status",
5741        "absl/status:statusor",
5742        "absl/strings",
5743        "absl/types:optional",
5744    ],
5745    language = "c++",
5746    deps = [
5747        "channel_args",
5748        "connectivity_state",
5749        "json",
5750        "lb_endpoint_list",
5751        "lb_policy",
5752        "lb_policy_factory",
5753        "//:config",
5754        "//:debug_location",
5755        "//:endpoint_addresses",
5756        "//:gpr",
5757        "//:grpc_base",
5758        "//:grpc_trace",
5759        "//:orphanable",
5760        "//:ref_counted_ptr",
5761        "//:work_serializer",
5762    ],
5763)
5764
5765grpc_cc_library(
5766    name = "static_stride_scheduler",
5767    srcs = [
5768        "load_balancing/weighted_round_robin/static_stride_scheduler.cc",
5769    ],
5770    hdrs = [
5771        "load_balancing/weighted_round_robin/static_stride_scheduler.h",
5772    ],
5773    external_deps = [
5774        "absl/functional:any_invocable",
5775        "absl/types:optional",
5776        "absl/types:span",
5777    ],
5778    language = "c++",
5779    deps = ["//:gpr"],
5780)
5781
5782grpc_cc_library(
5783    name = "grpc_lb_policy_weighted_round_robin",
5784    srcs = [
5785        "load_balancing/weighted_round_robin/weighted_round_robin.cc",
5786    ],
5787    external_deps = [
5788        "absl/base:core_headers",
5789        "absl/meta:type_traits",
5790        "absl/random",
5791        "absl/status",
5792        "absl/status:statusor",
5793        "absl/strings",
5794        "absl/types:optional",
5795        "absl/types:variant",
5796    ],
5797    language = "c++",
5798    deps = [
5799        "channel_args",
5800        "connectivity_state",
5801        "experiments",
5802        "grpc_backend_metric_data",
5803        "grpc_lb_policy_weighted_target",
5804        "json",
5805        "json_args",
5806        "json_object_loader",
5807        "lb_endpoint_list",
5808        "lb_policy",
5809        "lb_policy_factory",
5810        "metrics",
5811        "ref_counted",
5812        "resolved_address",
5813        "static_stride_scheduler",
5814        "stats_data",
5815        "subchannel_interface",
5816        "time",
5817        "validation_errors",
5818        "//:config",
5819        "//:debug_location",
5820        "//:endpoint_addresses",
5821        "//:exec_ctx",
5822        "//:gpr",
5823        "//:grpc_base",
5824        "//:grpc_client_channel",
5825        "//:grpc_trace",
5826        "//:oob_backend_metric",
5827        "//:orphanable",
5828        "//:ref_counted_ptr",
5829        "//:stats",
5830        "//:work_serializer",
5831    ],
5832)
5833
5834grpc_cc_library(
5835    name = "grpc_outlier_detection_header",
5836    hdrs = [
5837        "load_balancing/outlier_detection/outlier_detection.h",
5838    ],
5839    external_deps = ["absl/types:optional"],
5840    language = "c++",
5841    deps = [
5842        "json",
5843        "json_args",
5844        "json_object_loader",
5845        "time",
5846        "validation_errors",
5847        "//:gpr_platform",
5848    ],
5849)
5850
5851grpc_cc_library(
5852    name = "grpc_lb_policy_outlier_detection",
5853    srcs = [
5854        "load_balancing/outlier_detection/outlier_detection.cc",
5855    ],
5856    external_deps = [
5857        "absl/base:core_headers",
5858        "absl/meta:type_traits",
5859        "absl/random",
5860        "absl/status",
5861        "absl/status:statusor",
5862        "absl/strings",
5863        "absl/types:variant",
5864    ],
5865    language = "c++",
5866    deps = [
5867        "channel_args",
5868        "connectivity_state",
5869        "delegating_helper",
5870        "experiments",
5871        "grpc_outlier_detection_header",
5872        "health_check_client",
5873        "iomgr_fwd",
5874        "json",
5875        "lb_policy",
5876        "lb_policy_factory",
5877        "lb_policy_registry",
5878        "pollset_set",
5879        "ref_counted",
5880        "resolved_address",
5881        "subchannel_interface",
5882        "unique_type_name",
5883        "validation_errors",
5884        "//:config",
5885        "//:debug_location",
5886        "//:endpoint_addresses",
5887        "//:exec_ctx",
5888        "//:gpr",
5889        "//:grpc_base",
5890        "//:grpc_client_channel",
5891        "//:grpc_trace",
5892        "//:lb_child_policy_handler",
5893        "//:orphanable",
5894        "//:ref_counted_ptr",
5895        "//:sockaddr_utils",
5896        "//:work_serializer",
5897    ],
5898)
5899
5900grpc_cc_library(
5901    name = "grpc_lb_policy_priority",
5902    srcs = [
5903        "load_balancing/priority/priority.cc",
5904    ],
5905    external_deps = [
5906        "absl/status",
5907        "absl/status:statusor",
5908        "absl/strings",
5909        "absl/types:optional",
5910    ],
5911    language = "c++",
5912    deps = [
5913        "channel_args",
5914        "connectivity_state",
5915        "delegating_helper",
5916        "grpc_lb_address_filtering",
5917        "json",
5918        "json_args",
5919        "json_object_loader",
5920        "lb_policy",
5921        "lb_policy_factory",
5922        "lb_policy_registry",
5923        "pollset_set",
5924        "ref_counted_string",
5925        "time",
5926        "validation_errors",
5927        "//:channel_arg_names",
5928        "//:config",
5929        "//:debug_location",
5930        "//:endpoint_addresses",
5931        "//:exec_ctx",
5932        "//:gpr",
5933        "//:grpc_base",
5934        "//:grpc_client_channel",
5935        "//:grpc_trace",
5936        "//:lb_child_policy_handler",
5937        "//:orphanable",
5938        "//:ref_counted_ptr",
5939        "//:work_serializer",
5940    ],
5941)
5942
5943grpc_cc_library(
5944    name = "grpc_lb_policy_weighted_target",
5945    srcs = [
5946        "load_balancing/weighted_target/weighted_target.cc",
5947    ],
5948    hdrs = [
5949        "load_balancing/weighted_target/weighted_target.h",
5950    ],
5951    external_deps = [
5952        "absl/base:core_headers",
5953        "absl/meta:type_traits",
5954        "absl/random",
5955        "absl/status",
5956        "absl/status:statusor",
5957        "absl/strings",
5958        "absl/types:optional",
5959    ],
5960    language = "c++",
5961    deps = [
5962        "channel_args",
5963        "connectivity_state",
5964        "delegating_helper",
5965        "grpc_lb_address_filtering",
5966        "json",
5967        "json_args",
5968        "json_object_loader",
5969        "lb_policy",
5970        "lb_policy_factory",
5971        "lb_policy_registry",
5972        "pollset_set",
5973        "time",
5974        "validation_errors",
5975        "//:config",
5976        "//:debug_location",
5977        "//:endpoint_addresses",
5978        "//:exec_ctx",
5979        "//:gpr",
5980        "//:grpc_base",
5981        "//:grpc_client_channel",
5982        "//:grpc_trace",
5983        "//:lb_child_policy_handler",
5984        "//:orphanable",
5985        "//:ref_counted_ptr",
5986        "//:work_serializer",
5987    ],
5988)
5989
5990grpc_cc_library(
5991    name = "grpc_lb_policy_xds_override_host",
5992    srcs = [
5993        "load_balancing/xds/xds_override_host.cc",
5994    ],
5995    hdrs = [
5996        "load_balancing/xds/xds_override_host.h",
5997    ],
5998    external_deps = [
5999        "absl/base:core_headers",
6000        "absl/functional:function_ref",
6001        "absl/status",
6002        "absl/status:statusor",
6003        "absl/strings",
6004        "absl/types:optional",
6005        "absl/types:span",
6006        "absl/types:variant",
6007    ],
6008    language = "c++",
6009    deps = [
6010        "channel_args",
6011        "client_channel_internal_header",
6012        "closure",
6013        "connectivity_state",
6014        "delegating_helper",
6015        "error",
6016        "experiments",
6017        "grpc_stateful_session_filter",
6018        "grpc_xds_client",
6019        "iomgr_fwd",
6020        "json",
6021        "json_args",
6022        "json_object_loader",
6023        "lb_policy",
6024        "lb_policy_factory",
6025        "lb_policy_registry",
6026        "match",
6027        "pollset_set",
6028        "ref_counted_string",
6029        "resolved_address",
6030        "subchannel_interface",
6031        "validation_errors",
6032        "xds_dependency_manager",
6033        "//:config",
6034        "//:debug_location",
6035        "//:endpoint_addresses",
6036        "//:exec_ctx",
6037        "//:gpr",
6038        "//:grpc_base",
6039        "//:grpc_client_channel",
6040        "//:grpc_trace",
6041        "//:lb_child_policy_handler",
6042        "//:orphanable",
6043        "//:parse_address",
6044        "//:ref_counted_ptr",
6045        "//:sockaddr_utils",
6046        "//:work_serializer",
6047    ],
6048)
6049
6050grpc_cc_library(
6051    name = "lb_server_load_reporting_filter",
6052    srcs = [
6053        "ext/filters/load_reporting/server_load_reporting_filter.cc",
6054    ],
6055    hdrs = [
6056        "ext/filters/load_reporting/registered_opencensus_objects.h",
6057        "ext/filters/load_reporting/server_load_reporting_filter.h",
6058        "//:src/cpp/server/load_reporter/constants.h",
6059    ],
6060    external_deps = [
6061        "absl/container:inlined_vector",
6062        "absl/status",
6063        "absl/status:statusor",
6064        "absl/strings",
6065        "absl/strings:str_format",
6066        "absl/types:optional",
6067        "opencensus-stats",
6068        "opencensus-tags",
6069    ],
6070    language = "c++",
6071    deps = [
6072        "arena_promise",
6073        "call_finalization",
6074        "channel_args",
6075        "channel_fwd",
6076        "channel_stack_type",
6077        "context",
6078        "grpc_sockaddr",
6079        "metadata_batch",
6080        "resolved_address",
6081        "seq",
6082        "slice",
6083        "//:channel_arg_names",
6084        "//:config",
6085        "//:gpr",
6086        "//:gpr_platform",
6087        "//:grpc_base",
6088        "//:grpc_public_hdrs",
6089        "//:grpc_security_base",
6090        "//:parse_address",
6091        "//:promise",
6092        "//:uri_parser",
6093    ],
6094    alwayslink = 1,
6095)
6096
6097grpc_cc_library(
6098    name = "grpc_backend_metric_filter",
6099    srcs = [
6100        "ext/filters/backend_metrics/backend_metric_filter.cc",
6101    ],
6102    hdrs = [
6103        "ext/filters/backend_metrics/backend_metric_filter.h",
6104    ],
6105    external_deps = [
6106        "absl/status:statusor",
6107        "absl/strings",
6108        "absl/types:optional",
6109        "upb_base_lib",
6110        "upb_mem_lib",
6111    ],
6112    language = "c++",
6113    deps = [
6114        "arena_promise",
6115        "channel_args",
6116        "channel_fwd",
6117        "channel_stack_type",
6118        "context",
6119        "experiments",
6120        "grpc_backend_metric_data",
6121        "grpc_backend_metric_provider",
6122        "map",
6123        "metadata_batch",
6124        "slice",
6125        "//:channel_arg_names",
6126        "//:config",
6127        "//:gpr",
6128        "//:gpr_platform",
6129        "//:grpc_base",
6130        "//:grpc_trace",
6131        "//:legacy_context",
6132        "//:xds_orca_upb",
6133    ],
6134)
6135
6136grpc_cc_library(
6137    name = "polling_resolver",
6138    srcs = [
6139        "resolver/polling_resolver.cc",
6140    ],
6141    hdrs = [
6142        "resolver/polling_resolver.h",
6143    ],
6144    external_deps = [
6145        "absl/status",
6146        "absl/status:statusor",
6147        "absl/strings",
6148        "absl/types:optional",
6149    ],
6150    language = "c++",
6151    deps = [
6152        "channel_args",
6153        "grpc_service_config",
6154        "iomgr_fwd",
6155        "time",
6156        "//:backoff",
6157        "//:debug_location",
6158        "//:endpoint_addresses",
6159        "//:event_engine_base_hdrs",
6160        "//:exec_ctx",
6161        "//:gpr",
6162        "//:grpc_resolver",
6163        "//:grpc_trace",
6164        "//:orphanable",
6165        "//:ref_counted_ptr",
6166        "//:uri_parser",
6167        "//:work_serializer",
6168    ],
6169)
6170
6171grpc_cc_library(
6172    name = "service_config_helper",
6173    srcs = [
6174        "resolver/dns/event_engine/service_config_helper.cc",
6175    ],
6176    hdrs = [
6177        "resolver/dns/event_engine/service_config_helper.h",
6178    ],
6179    external_deps = [
6180        "absl/status:statusor",
6181        "absl/strings",
6182    ],
6183    language = "c++",
6184    deps = [
6185        "json",
6186        "json_args",
6187        "json_object_loader",
6188        "json_reader",
6189        "json_writer",
6190        "status_helper",
6191        "//:gpr_platform",
6192        "//:grpc_base",
6193        "//:iomgr",
6194    ],
6195)
6196
6197grpc_cc_library(
6198    name = "grpc_resolver_dns_event_engine",
6199    srcs = [
6200        "resolver/dns/event_engine/event_engine_client_channel_resolver.cc",
6201    ],
6202    hdrs = [
6203        "resolver/dns/event_engine/event_engine_client_channel_resolver.h",
6204    ],
6205    external_deps = [
6206        "absl/base:core_headers",
6207        "absl/cleanup",
6208        "absl/status",
6209        "absl/status:statusor",
6210        "absl/strings",
6211        "absl/types:optional",
6212    ],
6213    language = "c++",
6214    deps = [
6215        "channel_args",
6216        "event_engine_common",
6217        "grpc_service_config",
6218        "polling_resolver",
6219        "service_config_helper",
6220        "time",
6221        "validation_errors",
6222        "//:backoff",
6223        "//:channel_arg_names",
6224        "//:debug_location",
6225        "//:endpoint_addresses",
6226        "//:exec_ctx",
6227        "//:gpr",
6228        "//:gpr_platform",
6229        "//:grpc_base",
6230        "//:grpc_grpclb_balancer_addresses",
6231        "//:grpc_resolver",
6232        "//:grpc_service_config_impl",
6233        "//:grpc_trace",
6234        "//:iomgr",
6235        "//:orphanable",
6236        "//:ref_counted_ptr",
6237        "//:uri_parser",
6238    ],
6239)
6240
6241grpc_cc_library(
6242    name = "grpc_resolver_dns_plugin",
6243    srcs = [
6244        "resolver/dns/dns_resolver_plugin.cc",
6245    ],
6246    hdrs = [
6247        "resolver/dns/dns_resolver_plugin.h",
6248    ],
6249    external_deps = ["absl/strings"],
6250    language = "c++",
6251    deps = [
6252        "experiments",
6253        "grpc_resolver_dns_event_engine",
6254        "grpc_resolver_dns_native",
6255        "//:config",
6256        "//:config_vars",
6257        "//:gpr",
6258        "//:grpc_resolver",
6259        "//:grpc_resolver_dns_ares",
6260    ],
6261)
6262
6263grpc_cc_library(
6264    name = "grpc_resolver_dns_native",
6265    srcs = [
6266        "resolver/dns/native/dns_resolver.cc",
6267    ],
6268    hdrs = [
6269        "resolver/dns/native/dns_resolver.h",
6270    ],
6271    external_deps = [
6272        "absl/functional:bind_front",
6273        "absl/status",
6274        "absl/status:statusor",
6275        "absl/strings",
6276        "absl/types:optional",
6277    ],
6278    language = "c++",
6279    deps = [
6280        "channel_args",
6281        "polling_resolver",
6282        "resolved_address",
6283        "time",
6284        "//:backoff",
6285        "//:channel_arg_names",
6286        "//:config",
6287        "//:debug_location",
6288        "//:endpoint_addresses",
6289        "//:gpr",
6290        "//:grpc_base",
6291        "//:grpc_resolver",
6292        "//:grpc_trace",
6293        "//:iomgr",
6294        "//:orphanable",
6295        "//:ref_counted_ptr",
6296        "//:uri_parser",
6297    ],
6298)
6299
6300grpc_cc_library(
6301    name = "grpc_resolver_sockaddr",
6302    srcs = [
6303        "resolver/sockaddr/sockaddr_resolver.cc",
6304    ],
6305    external_deps = [
6306        "absl/status:statusor",
6307        "absl/strings",
6308    ],
6309    language = "c++",
6310    deps = [
6311        "channel_args",
6312        "iomgr_port",
6313        "resolved_address",
6314        "//:config",
6315        "//:endpoint_addresses",
6316        "//:gpr",
6317        "//:grpc_resolver",
6318        "//:orphanable",
6319        "//:parse_address",
6320        "//:uri_parser",
6321    ],
6322)
6323
6324grpc_cc_library(
6325    name = "grpc_resolver_binder",
6326    srcs = [
6327        "resolver/binder/binder_resolver.cc",
6328    ],
6329    external_deps = [
6330        "absl/status",
6331        "absl/status:statusor",
6332        "absl/strings",
6333    ],
6334    language = "c++",
6335    deps = [
6336        "channel_args",
6337        "error",
6338        "iomgr_port",
6339        "resolved_address",
6340        "status_helper",
6341        "//:config",
6342        "//:endpoint_addresses",
6343        "//:gpr",
6344        "//:grpc_resolver",
6345        "//:orphanable",
6346        "//:uri_parser",
6347    ],
6348)
6349
6350grpc_cc_library(
6351    name = "grpc_resolver_xds_attributes",
6352    hdrs = [
6353        "resolver/xds/xds_resolver_attributes.h",
6354    ],
6355    external_deps = ["absl/strings"],
6356    language = "c++",
6357    deps = [
6358        "grpc_service_config",
6359        "unique_type_name",
6360        "//:gpr_platform",
6361    ],
6362)
6363
6364grpc_cc_library(
6365    name = "grpc_resolver_xds_trace",
6366    srcs = [
6367        "resolver/xds/xds_resolver_trace.cc",
6368    ],
6369    hdrs = [
6370        "resolver/xds/xds_resolver_trace.h",
6371    ],
6372    language = "c++",
6373    deps = [
6374        "//:gpr_platform",
6375        "//:grpc_trace",
6376    ],
6377)
6378
6379grpc_cc_library(
6380    name = "xds_dependency_manager",
6381    srcs = [
6382        "resolver/xds/xds_dependency_manager.cc",
6383    ],
6384    hdrs = [
6385        "resolver/xds/xds_dependency_manager.h",
6386    ],
6387    external_deps = [
6388        "absl/container:flat_hash_map",
6389        "absl/container:flat_hash_set",
6390        "absl/strings",
6391    ],
6392    language = "c++",
6393    deps = [
6394        "grpc_lb_xds_channel_args",
6395        "grpc_resolver_xds_trace",
6396        "grpc_xds_client",
6397        "match",
6398        "ref_counted",
6399        "//:config",
6400        "//:gpr",
6401        "//:grpc_resolver",
6402        "//:grpc_resolver_fake",
6403    ],
6404)
6405
6406grpc_cc_library(
6407    name = "grpc_resolver_xds",
6408    srcs = [
6409        "resolver/xds/xds_resolver.cc",
6410    ],
6411    external_deps = [
6412        "absl/meta:type_traits",
6413        "absl/random",
6414        "absl/status",
6415        "absl/status:statusor",
6416        "absl/strings",
6417        "absl/strings:str_format",
6418        "absl/types:optional",
6419        "absl/types:variant",
6420        "re2",
6421    ],
6422    language = "c++",
6423    deps = [
6424        "arena",
6425        "arena_promise",
6426        "channel_args",
6427        "channel_fwd",
6428        "client_channel_internal_header",
6429        "config_selector",
6430        "context",
6431        "dual_ref_counted",
6432        "experiments",
6433        "grpc_lb_policy_ring_hash",
6434        "grpc_resolver_xds_attributes",
6435        "grpc_resolver_xds_trace",
6436        "grpc_service_config",
6437        "grpc_xds_client",
6438        "iomgr_fwd",
6439        "match",
6440        "metadata_batch",
6441        "pollset_set",
6442        "ref_counted",
6443        "slice",
6444        "time",
6445        "xds_dependency_manager",
6446        "xxhash_inline",
6447        "//:channel_arg_names",
6448        "//:config",
6449        "//:debug_location",
6450        "//:endpoint_addresses",
6451        "//:gpr",
6452        "//:grpc_base",
6453        "//:grpc_client_channel",
6454        "//:grpc_public_hdrs",
6455        "//:grpc_resolver",
6456        "//:grpc_service_config_impl",
6457        "//:grpc_trace",
6458        "//:legacy_context",
6459        "//:orphanable",
6460        "//:ref_counted_ptr",
6461        "//:uri_parser",
6462        "//:work_serializer",
6463        "//:xds_client",
6464    ],
6465)
6466
6467grpc_cc_library(
6468    name = "grpc_resolver_c2p",
6469    srcs = [
6470        "resolver/google_c2p/google_c2p_resolver.cc",
6471    ],
6472    external_deps = [
6473        "absl/status:statusor",
6474        "absl/strings",
6475        "absl/types:optional",
6476    ],
6477    language = "c++",
6478    deps = [
6479        "channel_args",
6480        "env",
6481        "gcp_metadata_query",
6482        "grpc_xds_client",
6483        "json",
6484        "json_writer",
6485        "resource_quota",
6486        "time",
6487        "//:alts_util",
6488        "//:config",
6489        "//:debug_location",
6490        "//:gpr",
6491        "//:grpc_base",
6492        "//:grpc_resolver",
6493        "//:iomgr",
6494        "//:orphanable",
6495        "//:ref_counted_ptr",
6496        "//:uri_parser",
6497        "//:work_serializer",
6498        "//:xds_client",
6499    ],
6500)
6501
6502grpc_cc_library(
6503    name = "hpack_constants",
6504    hdrs = [
6505        "ext/transport/chttp2/transport/hpack_constants.h",
6506    ],
6507    language = "c++",
6508    deps = ["//:gpr_platform"],
6509)
6510
6511grpc_cc_library(
6512    name = "hpack_encoder_table",
6513    srcs = [
6514        "ext/transport/chttp2/transport/hpack_encoder_table.cc",
6515    ],
6516    hdrs = [
6517        "ext/transport/chttp2/transport/hpack_encoder_table.h",
6518    ],
6519    language = "c++",
6520    deps = [
6521        "hpack_constants",
6522        "//:gpr",
6523    ],
6524)
6525
6526grpc_cc_library(
6527    name = "chttp2_flow_control",
6528    srcs = [
6529        "ext/transport/chttp2/transport/flow_control.cc",
6530    ],
6531    hdrs = [
6532        "ext/transport/chttp2/transport/flow_control.h",
6533    ],
6534    external_deps = [
6535        "absl/functional:function_ref",
6536        "absl/status",
6537        "absl/strings",
6538        "absl/strings:str_format",
6539        "absl/types:optional",
6540    ],
6541    deps = [
6542        "bdp_estimator",
6543        "experiments",
6544        "http2_settings",
6545        "memory_quota",
6546        "time",
6547        "useful",
6548        "//:gpr",
6549        "//:grpc_trace",
6550    ],
6551)
6552
6553grpc_cc_library(
6554    name = "ping_abuse_policy",
6555    srcs = [
6556        "ext/transport/chttp2/transport/ping_abuse_policy.cc",
6557    ],
6558    hdrs = [
6559        "ext/transport/chttp2/transport/ping_abuse_policy.h",
6560    ],
6561    external_deps = [
6562        "absl/strings",
6563        "absl/types:optional",
6564    ],
6565    deps = [
6566        "channel_args",
6567        "time",
6568        "//:channel_arg_names",
6569        "//:gpr_platform",
6570    ],
6571)
6572
6573grpc_cc_library(
6574    name = "ping_callbacks",
6575    srcs = [
6576        "ext/transport/chttp2/transport/ping_callbacks.cc",
6577    ],
6578    hdrs = [
6579        "ext/transport/chttp2/transport/ping_callbacks.h",
6580    ],
6581    external_deps = [
6582        "absl/container:flat_hash_map",
6583        "absl/functional:any_invocable",
6584        "absl/hash",
6585        "absl/meta:type_traits",
6586        "absl/random:bit_gen_ref",
6587        "absl/random:distributions",
6588        "absl/types:optional",
6589    ],
6590    deps = [
6591        "time",
6592        "//:event_engine_base_hdrs",
6593        "//:gpr",
6594        "//:gpr_platform",
6595        "//:grpc_trace",
6596    ],
6597)
6598
6599grpc_cc_library(
6600    name = "write_size_policy",
6601    srcs = [
6602        "ext/transport/chttp2/transport/write_size_policy.cc",
6603    ],
6604    hdrs = [
6605        "ext/transport/chttp2/transport/write_size_policy.h",
6606    ],
6607    deps = [
6608        "time",
6609        "//:gpr",
6610        "//:gpr_platform",
6611    ],
6612)
6613
6614grpc_cc_library(
6615    name = "ping_rate_policy",
6616    srcs = [
6617        "ext/transport/chttp2/transport/ping_rate_policy.cc",
6618    ],
6619    hdrs = [
6620        "ext/transport/chttp2/transport/ping_rate_policy.h",
6621    ],
6622    external_deps = [
6623        "absl/strings",
6624        "absl/types:optional",
6625        "absl/types:variant",
6626    ],
6627    deps = [
6628        "channel_args",
6629        "experiments",
6630        "match",
6631        "time",
6632        "//:channel_arg_names",
6633        "//:gpr_platform",
6634    ],
6635)
6636
6637grpc_cc_library(
6638    name = "max_concurrent_streams_policy",
6639    srcs = [
6640        "ext/transport/chttp2/transport/max_concurrent_streams_policy.cc",
6641    ],
6642    hdrs = [
6643        "ext/transport/chttp2/transport/max_concurrent_streams_policy.h",
6644    ],
6645    deps = [
6646        "//:gpr",
6647        "//:gpr_platform",
6648    ],
6649)
6650
6651grpc_cc_library(
6652    name = "huffsyms",
6653    srcs = [
6654        "ext/transport/chttp2/transport/huffsyms.cc",
6655    ],
6656    hdrs = [
6657        "ext/transport/chttp2/transport/huffsyms.h",
6658    ],
6659    deps = ["//:gpr_platform"],
6660)
6661
6662grpc_cc_library(
6663    name = "decode_huff",
6664    srcs = [
6665        "ext/transport/chttp2/transport/decode_huff.cc",
6666    ],
6667    hdrs = [
6668        "ext/transport/chttp2/transport/decode_huff.h",
6669    ],
6670    deps = ["//:gpr_platform"],
6671)
6672
6673grpc_cc_library(
6674    name = "http2_settings",
6675    srcs = [
6676        "ext/transport/chttp2/transport/http2_settings.cc",
6677    ],
6678    hdrs = [
6679        "ext/transport/chttp2/transport/http2_settings.h",
6680    ],
6681    external_deps = [
6682        "absl/functional:function_ref",
6683        "absl/strings",
6684        "absl/types:optional",
6685    ],
6686    deps = [
6687        "http2_errors",
6688        "useful",
6689        "//:chttp2_frame",
6690        "//:gpr_platform",
6691    ],
6692)
6693
6694grpc_cc_library(
6695    name = "grpc_transport_chttp2_alpn",
6696    srcs = [
6697        "ext/transport/chttp2/alpn/alpn.cc",
6698    ],
6699    hdrs = [
6700        "ext/transport/chttp2/alpn/alpn.h",
6701    ],
6702    language = "c++",
6703    deps = [
6704        "useful",
6705        "//:gpr",
6706    ],
6707)
6708
6709grpc_cc_library(
6710    name = "grpc_transport_chttp2_client_connector",
6711    srcs = [
6712        "ext/transport/chttp2/client/chttp2_connector.cc",
6713    ],
6714    hdrs = [
6715        "ext/transport/chttp2/client/chttp2_connector.h",
6716    ],
6717    external_deps = [
6718        "absl/base:core_headers",
6719        "absl/status",
6720        "absl/status:statusor",
6721        "absl/strings:str_format",
6722        "absl/types:optional",
6723    ],
6724    language = "c++",
6725    deps = [
6726        "channel_args",
6727        "channel_args_endpoint_config",
6728        "channel_args_preconditioning",
6729        "channel_stack_type",
6730        "closure",
6731        "error",
6732        "error_utils",
6733        "grpc_insecure_credentials",
6734        "handshaker_registry",
6735        "resolved_address",
6736        "status_helper",
6737        "subchannel_connector",
6738        "tcp_connect_handshaker",
6739        "time",
6740        "unique_type_name",
6741        "//:api_trace",
6742        "//:channel",
6743        "//:channel_arg_names",
6744        "//:channel_create",
6745        "//:channelz",
6746        "//:config",
6747        "//:debug_location",
6748        "//:exec_ctx",
6749        "//:gpr",
6750        "//:grpc_base",
6751        "//:grpc_client_channel",
6752        "//:grpc_public_hdrs",
6753        "//:grpc_resolver",
6754        "//:grpc_security_base",
6755        "//:grpc_trace",
6756        "//:grpc_transport_chttp2",
6757        "//:handshaker",
6758        "//:iomgr",
6759        "//:orphanable",
6760        "//:ref_counted_ptr",
6761        "//:sockaddr_utils",
6762    ],
6763)
6764
6765grpc_cc_library(
6766    name = "grpc_transport_chttp2_server",
6767    srcs = [
6768        "ext/transport/chttp2/server/chttp2_server.cc",
6769    ],
6770    hdrs = [
6771        "ext/transport/chttp2/server/chttp2_server.h",
6772    ],
6773    external_deps = [
6774        "absl/base:core_headers",
6775        "absl/status",
6776        "absl/status:statusor",
6777        "absl/strings",
6778        "absl/strings:str_format",
6779        "absl/types:optional",
6780    ],
6781    language = "c++",
6782    deps = [
6783        "channel_args",
6784        "channel_args_endpoint_config",
6785        "closure",
6786        "connection_quota",
6787        "error",
6788        "error_utils",
6789        "grpc_insecure_credentials",
6790        "handshaker_registry",
6791        "iomgr_fwd",
6792        "memory_quota",
6793        "pollset_set",
6794        "resolved_address",
6795        "resource_quota",
6796        "status_helper",
6797        "time",
6798        "unique_type_name",
6799        "//:api_trace",
6800        "//:channel_arg_names",
6801        "//:channelz",
6802        "//:chttp2_legacy_frame",
6803        "//:config",
6804        "//:debug_location",
6805        "//:exec_ctx",
6806        "//:gpr",
6807        "//:grpc_base",
6808        "//:grpc_security_base",
6809        "//:grpc_trace",
6810        "//:grpc_transport_chttp2",
6811        "//:handshaker",
6812        "//:iomgr",
6813        "//:orphanable",
6814        "//:ref_counted_ptr",
6815        "//:server",
6816        "//:sockaddr_utils",
6817        "//:uri_parser",
6818    ],
6819)
6820
6821grpc_cc_library(
6822    name = "grpc_transport_inproc",
6823    srcs = [
6824        "ext/transport/inproc/inproc_plugin.cc",
6825        "ext/transport/inproc/inproc_transport.cc",
6826        "ext/transport/inproc/legacy_inproc_transport.cc",
6827    ],
6828    hdrs = [
6829        "ext/transport/inproc/inproc_transport.h",
6830        "ext/transport/inproc/legacy_inproc_transport.h",
6831    ],
6832    external_deps = [
6833        "absl/status",
6834        "absl/status:statusor",
6835        "absl/strings",
6836        "absl/types:optional",
6837    ],
6838    language = "c++",
6839    deps = [
6840        "arena",
6841        "channel_args",
6842        "channel_args_preconditioning",
6843        "channel_stack_type",
6844        "closure",
6845        "connectivity_state",
6846        "error",
6847        "experiments",
6848        "iomgr_fwd",
6849        "metadata_batch",
6850        "slice",
6851        "slice_buffer",
6852        "status_helper",
6853        "time",
6854        "try_seq",
6855        "//:api_trace",
6856        "//:channel",
6857        "//:channel_arg_names",
6858        "//:channel_create",
6859        "//:channelz",
6860        "//:config",
6861        "//:debug_location",
6862        "//:exec_ctx",
6863        "//:gpr",
6864        "//:grpc_base",
6865        "//:grpc_public_hdrs",
6866        "//:grpc_trace",
6867        "//:iomgr",
6868        "//:promise",
6869        "//:ref_counted_ptr",
6870        "//:server",
6871    ],
6872)
6873
6874grpc_cc_library(
6875    name = "chaotic_good_frame",
6876    srcs = [
6877        "ext/transport/chaotic_good/frame.cc",
6878    ],
6879    hdrs = [
6880        "ext/transport/chaotic_good/frame.h",
6881    ],
6882    external_deps = [
6883        "absl/random:bit_gen_ref",
6884        "absl/status",
6885        "absl/status:statusor",
6886        "absl/types:variant",
6887    ],
6888    deps = [
6889        "arena",
6890        "bitset",
6891        "chaotic_good_frame_header",
6892        "context",
6893        "match",
6894        "metadata_batch",
6895        "no_destruct",
6896        "slice",
6897        "slice_buffer",
6898        "status_helper",
6899        "//:gpr",
6900        "//:gpr_platform",
6901        "//:grpc_base",
6902        "//:hpack_encoder",
6903        "//:hpack_parser",
6904    ],
6905)
6906
6907grpc_cc_library(
6908    name = "chaotic_good_settings_metadata",
6909    srcs = [
6910        "ext/transport/chaotic_good/settings_metadata.cc",
6911    ],
6912    hdrs = [
6913        "ext/transport/chaotic_good/settings_metadata.h",
6914    ],
6915    external_deps = [
6916        "absl/status",
6917        "absl/types:optional",
6918    ],
6919    deps = [
6920        "arena",
6921        "metadata_batch",
6922        "//:gpr",
6923    ],
6924)
6925
6926grpc_cc_library(
6927    name = "chaotic_good_frame_header",
6928    srcs = [
6929        "ext/transport/chaotic_good/frame_header.cc",
6930    ],
6931    hdrs = [
6932        "ext/transport/chaotic_good/frame_header.h",
6933    ],
6934    external_deps = [
6935        "absl/status",
6936        "absl/status:statusor",
6937        "absl/strings",
6938    ],
6939    deps = [
6940        "bitset",
6941        "//:gpr",
6942        "//:gpr_platform",
6943    ],
6944)
6945
6946grpc_cc_library(
6947    name = "gcp_metadata_query",
6948    srcs = [
6949        "ext/gcp/metadata_query.cc",
6950    ],
6951    hdrs = [
6952        "ext/gcp/metadata_query.h",
6953    ],
6954    external_deps = [
6955        "absl/functional:any_invocable",
6956        "absl/status",
6957        "absl/status:statusor",
6958        "absl/strings",
6959        "absl/strings:str_format",
6960    ],
6961    deps = [
6962        "closure",
6963        "error",
6964        "status_helper",
6965        "time",
6966        "//:gpr",
6967        "//:gpr_platform",
6968        "//:grpc_base",
6969        "//:grpc_security_base",
6970        "//:grpc_trace",
6971        "//:httpcli",
6972        "//:iomgr",
6973        "//:orphanable",
6974        "//:ref_counted_ptr",
6975        "//:uri_parser",
6976    ],
6977)
6978
6979grpc_cc_library(
6980    name = "logging_sink",
6981    hdrs = [
6982        "ext/filters/logging/logging_sink.h",
6983    ],
6984    external_deps = [
6985        "absl/numeric:int128",
6986        "absl/strings",
6987    ],
6988    language = "c++",
6989    visibility = [
6990        "//src/cpp/ext/gcp:__subpackages__",
6991        "//test:__subpackages__",
6992    ],
6993    deps = [
6994        "time",
6995        "//:gpr_platform",
6996    ],
6997)
6998
6999grpc_cc_library(
7000    name = "logging_filter",
7001    srcs = [
7002        "ext/filters/logging/logging_filter.cc",
7003    ],
7004    hdrs = [
7005        "ext/filters/logging/logging_filter.h",
7006    ],
7007    external_deps = [
7008        "absl/numeric:int128",
7009        "absl/random",
7010        "absl/random:distributions",
7011        "absl/status:statusor",
7012        "absl/strings",
7013        "absl/types:optional",
7014    ],
7015    language = "c++",
7016    deps = [
7017        "arena",
7018        "arena_promise",
7019        "cancel_callback",
7020        "channel_args",
7021        "channel_fwd",
7022        "channel_stack_type",
7023        "context",
7024        "logging_sink",
7025        "map",
7026        "metadata_batch",
7027        "pipe",
7028        "slice",
7029        "slice_buffer",
7030        "time",
7031        "//:call_tracer",
7032        "//:channel_arg_names",
7033        "//:config",
7034        "//:gpr",
7035        "//:gpr_platform",
7036        "//:grpc_base",
7037        "//:grpc_client_channel",
7038        "//:grpc_public_hdrs",
7039        "//:grpc_resolver",
7040        "//:legacy_context",
7041        "//:uri_parser",
7042    ],
7043)
7044
7045grpc_cc_library(
7046    name = "grpc_promise_endpoint",
7047    srcs = [
7048        "lib/transport/promise_endpoint.cc",
7049    ],
7050    external_deps = [
7051        "absl/base:core_headers",
7052        "absl/status",
7053        "absl/status:statusor",
7054        "absl/types:optional",
7055    ],
7056    language = "c++",
7057    public_hdrs = [
7058        "lib/transport/promise_endpoint.h",
7059    ],
7060    deps = [
7061        "activity",
7062        "cancel_callback",
7063        "event_engine_common",
7064        "event_engine_extensions",
7065        "event_engine_query_extensions",
7066        "if",
7067        "map",
7068        "poll",
7069        "slice",
7070        "slice_buffer",
7071        "//:event_engine_base_hdrs",
7072        "//:exec_ctx",
7073        "//:gpr",
7074    ],
7075)
7076
7077grpc_cc_library(
7078    name = "chaotic_good_transport",
7079    srcs = [
7080        "ext/transport/chaotic_good/chaotic_good_transport.cc",
7081    ],
7082    hdrs = [
7083        "ext/transport/chaotic_good/chaotic_good_transport.h",
7084    ],
7085    external_deps = ["absl/random"],
7086    language = "c++",
7087    deps = [
7088        "chaotic_good_frame",
7089        "chaotic_good_frame_header",
7090        "event_engine_tcp_socket_utils",
7091        "grpc_promise_endpoint",
7092        "if",
7093        "try_join",
7094        "try_seq",
7095        "//:gpr_platform",
7096        "//:grpc_trace",
7097        "//:hpack_encoder",
7098        "//:promise",
7099    ],
7100)
7101
7102grpc_cc_library(
7103    name = "chaotic_good_client_transport",
7104    srcs = [
7105        "ext/transport/chaotic_good/client_transport.cc",
7106    ],
7107    hdrs = [
7108        "ext/transport/chaotic_good/client_transport.h",
7109    ],
7110    external_deps = [
7111        "absl/base:core_headers",
7112        "absl/container:flat_hash_map",
7113        "absl/random",
7114        "absl/random:bit_gen_ref",
7115        "absl/status",
7116        "absl/status:statusor",
7117        "absl/types:optional",
7118        "absl/types:variant",
7119    ],
7120    language = "c++",
7121    deps = [
7122        "activity",
7123        "all_ok",
7124        "arena",
7125        "chaotic_good_frame",
7126        "chaotic_good_frame_header",
7127        "chaotic_good_transport",
7128        "context",
7129        "event_engine_wakeup_scheduler",
7130        "for_each",
7131        "grpc_promise_endpoint",
7132        "if",
7133        "inter_activity_pipe",
7134        "loop",
7135        "map",
7136        "match",
7137        "memory_quota",
7138        "metadata_batch",
7139        "mpsc",
7140        "pipe",
7141        "poll",
7142        "resource_quota",
7143        "slice",
7144        "slice_buffer",
7145        "try_join",
7146        "try_seq",
7147        "//:exec_ctx",
7148        "//:gpr",
7149        "//:gpr_platform",
7150        "//:grpc_base",
7151        "//:hpack_encoder",
7152        "//:hpack_parser",
7153        "//:promise",
7154        "//:ref_counted_ptr",
7155    ],
7156)
7157
7158grpc_cc_library(
7159    name = "chaotic_good_server_transport",
7160    srcs = [
7161        "ext/transport/chaotic_good/server_transport.cc",
7162    ],
7163    hdrs = [
7164        "ext/transport/chaotic_good/server_transport.h",
7165    ],
7166    external_deps = [
7167        "absl/base:core_headers",
7168        "absl/container:flat_hash_map",
7169        "absl/functional:any_invocable",
7170        "absl/random",
7171        "absl/random:bit_gen_ref",
7172        "absl/status",
7173        "absl/status:statusor",
7174        "absl/types:optional",
7175        "absl/types:variant",
7176    ],
7177    language = "c++",
7178    deps = [
7179        "1999",
7180        "activity",
7181        "arena",
7182        "chaotic_good_frame",
7183        "chaotic_good_frame_header",
7184        "chaotic_good_transport",
7185        "context",
7186        "default_event_engine",
7187        "event_engine_wakeup_scheduler",
7188        "for_each",
7189        "grpc_promise_endpoint",
7190        "if",
7191        "inter_activity_latch",
7192        "inter_activity_pipe",
7193        "loop",
7194        "memory_quota",
7195        "metadata_batch",
7196        "mpsc",
7197        "pipe",
7198        "poll",
7199        "resource_quota",
7200        "seq",
7201        "slice",
7202        "slice_buffer",
7203        "switch",
7204        "try_join",
7205        "try_seq",
7206        "//:exec_ctx",
7207        "//:gpr",
7208        "//:gpr_platform",
7209        "//:grpc_base",
7210        "//:hpack_encoder",
7211        "//:hpack_parser",
7212        "//:ref_counted_ptr",
7213    ],
7214)
7215
7216grpc_cc_library(
7217    name = "call_final_info",
7218    srcs = [
7219        "lib/transport/call_final_info.cc",
7220    ],
7221    hdrs = [
7222        "lib/transport/call_final_info.h",
7223    ],
7224    deps = [
7225        "//:gpr",
7226        "//:grpc_public_hdrs",
7227    ],
7228)
7229
7230grpc_cc_library(
7231    name = "call_finalization",
7232    hdrs = [
7233        "lib/channel/call_finalization.h",
7234    ],
7235    language = "c++",
7236    visibility = ["@grpc:alt_grpc_base_legacy"],
7237    deps = [
7238        "arena",
7239        "call_final_info",
7240        "context",
7241        "//:gpr_platform",
7242    ],
7243)
7244
7245grpc_cc_library(
7246    name = "call_filters",
7247    srcs = [
7248        "lib/transport/call_filters.cc",
7249    ],
7250    hdrs = [
7251        "lib/transport/call_filters.h",
7252    ],
7253    deps = [
7254        "call_final_info",
7255        "latch",
7256        "map",
7257        "message",
7258        "metadata",
7259        "ref_counted",
7260        "status_flag",
7261        "//:gpr",
7262        "//:promise",
7263        "//:ref_counted_ptr",
7264    ],
7265)
7266
7267grpc_cc_library(
7268    name = "call_destination",
7269    hdrs = [
7270        "lib/transport/call_destination.h",
7271    ],
7272    deps = [
7273        "call_spine",
7274        "//:gpr_platform",
7275        "//:orphanable",
7276    ],
7277)
7278
7279grpc_cc_library(
7280    name = "parsed_metadata",
7281    srcs = [
7282        "lib/transport/parsed_metadata.cc",
7283    ],
7284    hdrs = [
7285        "lib/transport/parsed_metadata.h",
7286    ],
7287    external_deps = [
7288        "absl/functional:function_ref",
7289        "absl/meta:type_traits",
7290        "absl/strings",
7291    ],
7292    deps = [
7293        "slice",
7294        "time",
7295        "//:gpr_platform",
7296    ],
7297)
7298
7299grpc_cc_library(
7300    name = "metadata",
7301    srcs = [
7302        "lib/transport/metadata.cc",
7303    ],
7304    hdrs = [
7305        "lib/transport/metadata.h",
7306    ],
7307    deps = [
7308        "error_utils",
7309        "metadata_batch",
7310        "//:gpr_platform",
7311    ],
7312)
7313
7314grpc_cc_library(
7315    name = "message",
7316    srcs = [
7317        "lib/transport/message.cc",
7318    ],
7319    hdrs = [
7320        "lib/transport/message.h",
7321    ],
7322    external_deps = [
7323        "absl/strings",
7324    ],
7325    deps = [
7326        "arena",
7327        "slice_buffer",
7328        "//:gpr_platform",
7329        "//:grpc_public_hdrs",
7330    ],
7331)
7332
7333grpc_cc_library(
7334    name = "call_spine",
7335    srcs = [
7336        "lib/transport/call_spine.cc",
7337    ],
7338    hdrs = [
7339        "lib/transport/call_spine.h",
7340    ],
7341    deps = [
7342        "1999",
7343        "call_final_info",
7344        "for_each",
7345        "if",
7346        "latch",
7347        "message",
7348        "metadata",
7349        "pipe",
7350        "prioritized_race",
7351        "promise_status",
7352        "status_flag",
7353        "try_seq",
7354        "//:gpr",
7355    ],
7356)
7357
7358grpc_cc_library(
7359    name = "metadata_batch",
7360    srcs = [
7361        "lib/transport/metadata_batch.cc",
7362    ],
7363    hdrs = [
7364        "lib/transport/custom_metadata.h",
7365        "lib/transport/metadata_batch.h",
7366        "lib/transport/simple_slice_based_metadata.h",
7367    ],
7368    external_deps = [
7369        "absl/base:no_destructor",
7370        "absl/container:flat_hash_set",
7371        "absl/container:inlined_vector",
7372        "absl/functional:function_ref",
7373        "absl/meta:type_traits",
7374        "absl/strings",
7375        "absl/strings:str_format",
7376        "absl/types:optional",
7377    ],
7378    deps = [
7379        "arena",
7380        "chunked_vector",
7381        "compression",
7382        "experiments",
7383        "if_list",
7384        "metadata_compression_traits",
7385        "packed_table",
7386        "parsed_metadata",
7387        "poll",
7388        "slice",
7389        "time",
7390        "timeout_encoding",
7391        "type_list",
7392        "//:gpr",
7393        "//:grpc_public_hdrs",
7394    ],
7395)
7396
7397grpc_cc_library(
7398    name = "timeout_encoding",
7399    srcs = [
7400        "lib/transport/timeout_encoding.cc",
7401    ],
7402    hdrs = [
7403        "lib/transport/timeout_encoding.h",
7404    ],
7405    external_deps = [
7406        "absl/base:core_headers",
7407        "absl/types:optional",
7408    ],
7409    deps = [
7410        "slice",
7411        "time",
7412        "//:gpr",
7413    ],
7414)
7415
7416grpc_cc_library(
7417    name = "call_size_estimator",
7418    srcs = [
7419        "lib/transport/call_size_estimator.cc",
7420    ],
7421    hdrs = [
7422        "lib/transport/call_size_estimator.h",
7423    ],
7424    deps = ["//:gpr_platform"],
7425)
7426
7427grpc_cc_library(
7428    name = "compression",
7429    srcs = [
7430        "lib/compression/compression.cc",
7431        "lib/compression/compression_internal.cc",
7432    ],
7433    hdrs = [
7434        "lib/compression/compression_internal.h",
7435    ],
7436    external_deps = [
7437        "absl/container:inlined_vector",
7438        "absl/strings",
7439        "absl/strings:str_format",
7440        "absl/types:optional",
7441    ],
7442    deps = [
7443        "bitset",
7444        "channel_args",
7445        "ref_counted_string",
7446        "slice",
7447        "useful",
7448        "//:api_trace",
7449        "//:gpr",
7450        "//:grpc_public_hdrs",
7451        "//:grpc_trace",
7452        "//:ref_counted_ptr",
7453    ],
7454)
7455
7456grpc_cc_library(
7457    name = "chaotic_good_server",
7458    srcs = [
7459        "ext/transport/chaotic_good/server/chaotic_good_server.cc",
7460    ],
7461    hdrs = [
7462        "ext/transport/chaotic_good/server/chaotic_good_server.h",
7463    ],
7464    external_deps = [
7465        "absl/container:flat_hash_map",
7466        "absl/random",
7467        "absl/random:bit_gen_ref",
7468        "absl/status",
7469        "absl/status:statusor",
7470    ],
7471    language = "c++",
7472    deps = [
7473        "activity",
7474        "arena",
7475        "channel_args",
7476        "channel_args_endpoint_config",
7477        "chaotic_good_frame",
7478        "chaotic_good_frame_header",
7479        "chaotic_good_server_transport",
7480        "chaotic_good_settings_metadata",
7481        "closure",
7482        "context",
7483        "error",
7484        "error_utils",
7485        "event_engine_common",
7486        "event_engine_context",
7487        "event_engine_extensions",
7488        "event_engine_query_extensions",
7489        "event_engine_tcp_socket_utils",
7490        "event_engine_wakeup_scheduler",
7491        "grpc_promise_endpoint",
7492        "if",
7493        "inter_activity_latch",
7494        "iomgr_fwd",
7495        "latch",
7496        "memory_quota",
7497        "metadata",
7498        "metadata_batch",
7499        "race",
7500        "resource_quota",
7501        "sleep",
7502        "slice",
7503        "slice_buffer",
7504        "status_helper",
7505        "time",
7506        "try_seq",
7507        "//:channelz",
7508        "//:gpr",
7509        "//:gpr_platform",
7510        "//:grpc_base",
7511        "//:handshaker",
7512        "//:hpack_encoder",
7513        "//:hpack_parser",
7514        "//:iomgr",
7515        "//:orphanable",
7516        "//:ref_counted_ptr",
7517        "//:server",
7518    ],
7519)
7520
7521grpc_cc_library(
7522    name = "chaotic_good_connector",
7523    srcs = [
7524        "ext/transport/chaotic_good/client/chaotic_good_connector.cc",
7525    ],
7526    hdrs = [
7527        "ext/transport/chaotic_good/client/chaotic_good_connector.h",
7528    ],
7529    external_deps = [
7530        "absl/random",
7531        "absl/random:bit_gen_ref",
7532        "absl/status",
7533        "absl/status:statusor",
7534    ],
7535    language = "c++",
7536    deps = [
7537        "activity",
7538        "arena",
7539        "channel_args",
7540        "channel_args_endpoint_config",
7541        "chaotic_good_client_transport",
7542        "chaotic_good_frame",
7543        "chaotic_good_frame_header",
7544        "chaotic_good_settings_metadata",
7545        "closure",
7546        "context",
7547        "default_event_engine",
7548        "error",
7549        "error_utils",
7550        "event_engine_extensions",
7551        "event_engine_query_extensions",
7552        "event_engine_tcp_socket_utils",
7553        "event_engine_wakeup_scheduler",
7554        "grpc_promise_endpoint",
7555        "inter_activity_latch",
7556        "latch",
7557        "memory_quota",
7558        "no_destruct",
7559        "notification",
7560        "race",
7561        "resource_quota",
7562        "sleep",
7563        "slice",
7564        "slice_buffer",
7565        "subchannel_connector",
7566        "time",
7567        "try_seq",
7568        "wait_for_callback",
7569        "//:api_trace",
7570        "//:channel",
7571        "//:channel_create",
7572        "//:config",
7573        "//:debug_location",
7574        "//:exec_ctx",
7575        "//:gpr",
7576        "//:gpr_platform",
7577        "//:grpc_base",
7578        "//:grpc_client_channel",
7579        "//:handshaker",
7580        "//:hpack_encoder",
7581        "//:hpack_parser",
7582        "//:iomgr",
7583        "//:ref_counted_ptr",
7584    ],
7585)
7586
7587grpc_cc_library(
7588    name = "metrics",
7589    srcs = [
7590        "lib/channel/metrics.cc",
7591    ],
7592    hdrs = [
7593        "lib/channel/metrics.h",
7594    ],
7595    external_deps = [
7596        "absl/container:flat_hash_map",
7597        "absl/functional:any_invocable",
7598        "absl/functional:function_ref",
7599        "absl/strings",
7600        "absl/types:span",
7601    ],
7602    language = "c++",
7603    deps = [
7604        "arena",
7605        "channel_args",
7606        "no_destruct",
7607        "slice",
7608        "time",
7609        "//:call_tracer",
7610        "//:gpr",
7611        "//:legacy_context",
7612    ],
7613)
7614
7615### UPB Targets
7616
7617grpc_upb_proto_library(
7618    name = "envoy_admin_upb",
7619    deps = ["@envoy_api//envoy/admin/v3:pkg"],
7620)
7621
7622grpc_upb_proto_library(
7623    name = "envoy_config_cluster_upb",
7624    deps = ["@envoy_api//envoy/config/cluster/v3:pkg"],
7625)
7626
7627grpc_upb_proto_reflection_library(
7628    name = "envoy_config_cluster_upbdefs",
7629    deps = ["@envoy_api//envoy/config/cluster/v3:pkg"],
7630)
7631
7632grpc_upb_proto_library(
7633    name = "envoy_config_core_upb",
7634    deps = ["@envoy_api//envoy/config/core/v3:pkg"],
7635)
7636
7637grpc_upb_proto_library(
7638    name = "envoy_config_endpoint_upb",
7639    deps = ["@envoy_api//envoy/config/endpoint/v3:pkg"],
7640)
7641
7642grpc_upb_proto_reflection_library(
7643    name = "envoy_config_endpoint_upbdefs",
7644    deps = ["@envoy_api//envoy/config/endpoint/v3:pkg"],
7645)
7646
7647grpc_upb_proto_library(
7648    name = "envoy_config_listener_upb",
7649    deps = ["@envoy_api//envoy/config/listener/v3:pkg"],
7650)
7651
7652grpc_upb_proto_reflection_library(
7653    name = "envoy_config_listener_upbdefs",
7654    deps = ["@envoy_api//envoy/config/listener/v3:pkg"],
7655)
7656
7657grpc_upb_proto_library(
7658    name = "envoy_config_rbac_upb",
7659    deps = ["@envoy_api//envoy/config/rbac/v3:pkg"],
7660)
7661
7662grpc_upb_proto_library(
7663    name = "envoy_config_route_upb",
7664    deps = ["@envoy_api//envoy/config/route/v3:pkg"],
7665)
7666
7667grpc_upb_proto_reflection_library(
7668    name = "envoy_config_route_upbdefs",
7669    deps = ["@envoy_api//envoy/config/route/v3:pkg"],
7670)
7671
7672grpc_upb_proto_library(
7673    name = "envoy_extensions_clusters_aggregate_upb",
7674    deps = ["@envoy_api//envoy/extensions/clusters/aggregate/v3:pkg"],
7675)
7676
7677grpc_upb_proto_reflection_library(
7678    name = "envoy_extensions_clusters_aggregate_upbdefs",
7679    deps = ["@envoy_api//envoy/extensions/clusters/aggregate/v3:pkg"],
7680)
7681
7682grpc_upb_proto_library(
7683    name = "envoy_extensions_filters_common_fault_upb",
7684    deps = ["@envoy_api//envoy/extensions/filters/common/fault/v3:pkg"],
7685)
7686
7687grpc_upb_proto_library(
7688    name = "envoy_extensions_filters_http_fault_upb",
7689    deps = ["@envoy_api//envoy/extensions/filters/http/fault/v3:pkg"],
7690)
7691
7692grpc_upb_proto_reflection_library(
7693    name = "envoy_extensions_filters_http_fault_upbdefs",
7694    deps = ["@envoy_api//envoy/extensions/filters/http/fault/v3:pkg"],
7695)
7696
7697grpc_upb_proto_library(
7698    name = "envoy_extensions_filters_http_rbac_upb",
7699    deps = ["@envoy_api//envoy/extensions/filters/http/rbac/v3:pkg"],
7700)
7701
7702grpc_upb_proto_reflection_library(
7703    name = "envoy_extensions_filters_http_rbac_upbdefs",
7704    deps = ["@envoy_api//envoy/extensions/filters/http/rbac/v3:pkg"],
7705)
7706
7707grpc_upb_proto_library(
7708    name = "envoy_extensions_filters_http_router_upb",
7709    deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
7710)
7711
7712grpc_upb_proto_reflection_library(
7713    name = "envoy_extensions_filters_http_router_upbdefs",
7714    deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
7715)
7716
7717grpc_upb_proto_library(
7718    name = "envoy_extensions_filters_http_stateful_session_upb",
7719    deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
7720)
7721
7722grpc_upb_proto_reflection_library(
7723    name = "envoy_extensions_filters_http_stateful_session_upbdefs",
7724    deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
7725)
7726
7727grpc_upb_proto_library(
7728    name = "envoy_extensions_http_stateful_session_cookie_upb",
7729    deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
7730)
7731
7732grpc_upb_proto_reflection_library(
7733    name = "envoy_extensions_http_stateful_session_cookie_upbdefs",
7734    deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
7735)
7736
7737grpc_upb_proto_library(
7738    name = "envoy_type_http_upb",
7739    deps = ["@envoy_api//envoy/type/http/v3:pkg"],
7740)
7741
7742grpc_upb_proto_library(
7743    name = "envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_upb",
7744    deps = [
7745        "@envoy_api//envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3:pkg",
7746    ],
7747)
7748
7749grpc_upb_proto_library(
7750    name = "envoy_extensions_load_balancing_policies_ring_hash_upb",
7751    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/ring_hash/v3:pkg"],
7752)
7753
7754grpc_upb_proto_library(
7755    name = "envoy_extensions_load_balancing_policies_wrr_locality_upb",
7756    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/wrr_locality/v3:pkg"],
7757)
7758
7759grpc_upb_proto_library(
7760    name = "envoy_extensions_load_balancing_policies_pick_first_upb",
7761    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/pick_first/v3:pkg"],
7762)
7763
7764grpc_upb_proto_library(
7765    name = "envoy_extensions_filters_network_http_connection_manager_upb",
7766    deps = [
7767        "@envoy_api//envoy/extensions/filters/network/http_connection_manager/v3:pkg",
7768    ],
7769)
7770
7771grpc_upb_proto_reflection_library(
7772    name = "envoy_extensions_filters_network_http_connection_manager_upbdefs",
7773    deps = [
7774        "@envoy_api//envoy/extensions/filters/network/http_connection_manager/v3:pkg",
7775    ],
7776)
7777
7778grpc_upb_proto_library(
7779    name = "envoy_extensions_transport_sockets_tls_upb",
7780    deps = ["@envoy_api//envoy/extensions/transport_sockets/tls/v3:pkg"],
7781)
7782
7783grpc_upb_proto_reflection_library(
7784    name = "envoy_extensions_transport_sockets_tls_upbdefs",
7785    deps = ["@envoy_api//envoy/extensions/transport_sockets/tls/v3:pkg"],
7786)
7787
7788grpc_upb_proto_library(
7789    name = "envoy_extensions_upstreams_http_upb",
7790    deps = ["@envoy_api//envoy/extensions/upstreams/http/v3:pkg"],
7791)
7792
7793grpc_upb_proto_reflection_library(
7794    name = "envoy_extensions_upstreams_http_upbdefs",
7795    deps = ["@envoy_api//envoy/extensions/upstreams/http/v3:pkg"],
7796)
7797
7798grpc_upb_proto_library(
7799    name = "envoy_service_discovery_upb",
7800    deps = ["@envoy_api//envoy/service/discovery/v3:pkg"],
7801)
7802
7803grpc_upb_proto_reflection_library(
7804    name = "envoy_service_discovery_upbdefs",
7805    deps = ["@envoy_api//envoy/service/discovery/v3:pkg"],
7806)
7807
7808grpc_upb_proto_library(
7809    name = "envoy_service_load_stats_upb",
7810    deps = ["@envoy_api//envoy/service/load_stats/v3:pkg"],
7811)
7812
7813grpc_upb_proto_reflection_library(
7814    name = "envoy_service_load_stats_upbdefs",
7815    deps = ["@envoy_api//envoy/service/load_stats/v3:pkg"],
7816)
7817
7818grpc_upb_proto_library(
7819    name = "envoy_service_status_upb",
7820    deps = ["@envoy_api//envoy/service/status/v3:pkg"],
7821)
7822
7823grpc_upb_proto_reflection_library(
7824    name = "envoy_service_status_upbdefs",
7825    deps = ["@envoy_api//envoy/service/status/v3:pkg"],
7826)
7827
7828grpc_upb_proto_library(
7829    name = "envoy_type_matcher_upb",
7830    deps = ["@envoy_api//envoy/type/matcher/v3:pkg"],
7831)
7832
7833grpc_upb_proto_library(
7834    name = "envoy_type_upb",
7835    deps = ["@envoy_api//envoy/type/v3:pkg"],
7836)
7837
7838grpc_upb_proto_library(
7839    name = "xds_type_upb",
7840    deps = ["@com_github_cncf_xds//xds/type/v3:pkg"],
7841)
7842
7843grpc_upb_proto_reflection_library(
7844    name = "xds_type_upbdefs",
7845    deps = ["@com_github_cncf_xds//xds/type/v3:pkg"],
7846)
7847
7848grpc_upb_proto_library(
7849    name = "xds_orca_upb",
7850    deps = ["@com_github_cncf_xds//xds/data/orca/v3:pkg"],
7851)
7852
7853grpc_upb_proto_library(
7854    name = "xds_orca_service_upb",
7855    deps = ["@com_github_cncf_xds//xds/service/orca/v3:pkg"],
7856)
7857
7858grpc_upb_proto_library(
7859    name = "grpc_health_upb",
7860    deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
7861)
7862
7863grpc_upb_proto_library(
7864    name = "google_rpc_status_upb",
7865    deps = ["@com_google_googleapis//google/rpc:status_proto"],
7866)
7867
7868grpc_upb_proto_reflection_library(
7869    name = "google_rpc_status_upbdefs",
7870    deps = ["@com_google_googleapis//google/rpc:status_proto"],
7871)
7872
7873grpc_upb_proto_library(
7874    name = "google_type_expr_upb",
7875    deps = ["@com_google_googleapis//google/type:expr_proto"],
7876)
7877
7878grpc_upb_proto_library(
7879    name = "grpc_lb_upb",
7880    deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
7881)
7882
7883grpc_upb_proto_library(
7884    name = "alts_upb",
7885    deps = ["//src/proto/grpc/gcp:alts_handshaker_proto"],
7886)
7887
7888grpc_upb_proto_library(
7889    name = "rls_upb",
7890    deps = ["//src/proto/grpc/lookup/v1:rls_proto_descriptor"],
7891)
7892
7893grpc_upb_proto_library(
7894    name = "rls_config_upb",
7895    deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
7896)
7897
7898grpc_upb_proto_reflection_library(
7899    name = "rls_config_upbdefs",
7900    deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
7901)
7902
7903WELL_KNOWN_PROTO_TARGETS = [
7904    "any",
7905    "duration",
7906    "empty",
7907    "struct",
7908    "timestamp",
7909    "wrappers",
7910]
7911
7912[
7913    grpc_upb_proto_library(
7914        name = "protobuf_" + target + "_upb",
7915        deps = ["@com_google_protobuf//:" + target + "_proto"],
7916    )
7917    for target in WELL_KNOWN_PROTO_TARGETS
7918]
7919
7920[
7921    grpc_upb_proto_reflection_library(
7922        name = "protobuf_" + target + "_upbdefs",
7923        deps = ["@com_google_protobuf//:" + target + "_proto"],
7924    )
7925    for target in WELL_KNOWN_PROTO_TARGETS
7926]
7927
7928grpc_generate_one_off_internal_targets()
7929