• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_upb_proto_library",
19    "grpc_upb_proto_reflection_library",
20)
21
22licenses(["reciprocal"])
23
24package(
25    default_visibility = ["//:__subpackages__"],
26    features = [
27        "layering_check",
28    ],
29)
30
31# This is needed as a transitionary mechanism to build the src/core targets in
32# the top-level BUILD file that have not yet been moved here. Should go away
33# once the transition is complete.
34exports_files(
35    glob(["**"]),
36    visibility = ["//:__subpackages__"],
37)
38
39grpc_cc_library(
40    name = "channel_fwd",
41    hdrs = [
42        "lib/channel/channel_fwd.h",
43    ],
44    language = "c++",
45)
46
47grpc_cc_library(
48    name = "slice_cast",
49    hdrs = [
50        "//:include/grpc/event_engine/internal/slice_cast.h",
51    ],
52)
53
54grpc_cc_library(
55    name = "event_engine_common",
56    srcs = [
57        "lib/event_engine/event_engine.cc",
58        "lib/event_engine/resolved_address.cc",
59        "lib/event_engine/slice.cc",
60        "lib/event_engine/slice_buffer.cc",
61    ],
62    hdrs = [
63        "lib/event_engine/handle_containers.h",
64        "lib/event_engine/resolved_address_internal.h",
65        "//:include/grpc/event_engine/slice.h",
66        "//:include/grpc/event_engine/slice_buffer.h",
67    ],
68    external_deps = [
69        "absl/container:flat_hash_set",
70        "absl/hash",
71        "absl/strings",
72        "absl/utility",
73    ],
74    deps = [
75        "resolved_address",
76        "slice",
77        "slice_buffer",
78        "slice_cast",
79        "slice_refcount",
80        "//:event_engine_base_hdrs",
81        "//:gpr",
82        "//:gpr_platform",
83    ],
84)
85
86grpc_cc_library(
87    name = "transport_fwd",
88    hdrs = [
89        "lib/transport/transport_fwd.h",
90    ],
91    language = "c++",
92)
93
94grpc_cc_library(
95    name = "atomic_utils",
96    language = "c++",
97    public_hdrs = ["lib/gprpp/atomic_utils.h"],
98    deps = ["//:gpr"],
99)
100
101grpc_cc_library(
102    name = "metadata_compression_traits",
103    hdrs = [
104        "lib/transport/metadata_compression_traits.h",
105    ],
106    deps = ["//:gpr_platform"],
107)
108
109grpc_cc_library(
110    name = "experiments",
111    srcs = [
112        "lib/experiments/config.cc",
113        "lib/experiments/experiments.cc",
114    ],
115    hdrs = [
116        "lib/experiments/config.h",
117        "lib/experiments/experiments.h",
118    ],
119    defines = select({
120        "//:grpc_experiments_are_final": ["GRPC_EXPERIMENTS_ARE_FINAL"],
121        "//conditions:default": [],
122    }),
123    external_deps = [
124        "absl/functional:any_invocable",
125        "absl/strings",
126    ],
127    language = "c++",
128    deps = [
129        "no_destruct",
130        "//:config_vars",
131        "//:gpr",
132    ],
133)
134
135grpc_cc_library(
136    name = "init_internally",
137    srcs = ["lib/surface/init_internally.cc"],
138    hdrs = ["lib/surface/init_internally.h"],
139    deps = ["//:gpr_platform"],
140)
141
142grpc_cc_library(
143    name = "useful",
144    hdrs = ["lib/gpr/useful.h"],
145    external_deps = [
146        "absl/strings",
147        "absl/types:variant",
148    ],
149    language = "c++",
150    deps = ["//:gpr_platform"],
151)
152
153grpc_cc_library(
154    name = "examine_stack",
155    srcs = [
156        "lib/gprpp/examine_stack.cc",
157    ],
158    hdrs = [
159        "lib/gprpp/examine_stack.h",
160    ],
161    external_deps = ["absl/types:optional"],
162    deps = ["//:gpr_platform"],
163)
164
165grpc_cc_library(
166    name = "gpr_atm",
167    srcs = [
168        "lib/gpr/atm.cc",
169    ],
170    language = "c++",
171    public_hdrs = [
172        "//:include/grpc/support/atm.h",
173        "//:include/grpc/support/atm_gcc_atomic.h",
174        "//:include/grpc/support/atm_gcc_sync.h",
175        "//:include/grpc/support/atm_windows.h",
176        "//:include/grpc/impl/codegen/atm.h",
177        "//:include/grpc/impl/codegen/atm_gcc_atomic.h",
178        "//:include/grpc/impl/codegen/atm_gcc_sync.h",
179        "//:include/grpc/impl/codegen/atm_windows.h",
180    ],
181    deps = [
182        "useful",
183        "//:gpr_platform",
184    ],
185)
186
187grpc_cc_library(
188    name = "gpr_manual_constructor",
189    srcs = [],
190    hdrs = [
191        "lib/gprpp/manual_constructor.h",
192    ],
193    language = "c++",
194    deps = [
195        "construct_destruct",
196        "//:gpr_platform",
197    ],
198)
199
200grpc_cc_library(
201    name = "gpr_spinlock",
202    srcs = [],
203    hdrs = [
204        "lib/gpr/spinlock.h",
205    ],
206    language = "c++",
207    deps = [
208        "gpr_atm",
209        "//:gpr_platform",
210    ],
211)
212
213grpc_cc_library(
214    name = "gpr_log_internal",
215    hdrs = [
216        "lib/gpr/log_internal.h",
217    ],
218    language = "c++",
219    deps = ["//:gpr_platform"],
220)
221
222grpc_cc_library(
223    name = "env",
224    srcs = [
225        "lib/gprpp/linux/env.cc",
226        "lib/gprpp/posix/env.cc",
227        "lib/gprpp/windows/env.cc",
228    ],
229    hdrs = [
230        "lib/gprpp/env.h",
231    ],
232    external_deps = ["absl/types:optional"],
233    deps = [
234        "tchar",
235        "//:gpr_platform",
236    ],
237)
238
239grpc_cc_library(
240    name = "chunked_vector",
241    hdrs = ["lib/gprpp/chunked_vector.h"],
242    deps = [
243        "arena",
244        "gpr_manual_constructor",
245        "//:gpr",
246    ],
247)
248
249grpc_cc_library(
250    name = "construct_destruct",
251    language = "c++",
252    public_hdrs = ["lib/gprpp/construct_destruct.h"],
253    deps = ["//:gpr_platform"],
254)
255
256grpc_cc_library(
257    name = "status_helper",
258    srcs = [
259        "lib/gprpp/status_helper.cc",
260    ],
261    hdrs = [
262        "lib/gprpp/status_helper.h",
263    ],
264    external_deps = [
265        "absl/status",
266        "absl/strings",
267        "absl/strings:cord",
268        "absl/time",
269        "absl/types:optional",
270        "upb_lib",
271    ],
272    language = "c++",
273    deps = [
274        "percent_encoding",
275        "slice",
276        "//:debug_location",
277        "//:google_rpc_status_upb",
278        "//:gpr",
279        "//:protobuf_any_upb",
280    ],
281)
282
283grpc_cc_library(
284    name = "unique_type_name",
285    hdrs = ["lib/gprpp/unique_type_name.h"],
286    external_deps = ["absl/strings"],
287    language = "c++",
288    deps = [
289        "useful",
290        "//:gpr_platform",
291    ],
292)
293
294grpc_cc_library(
295    name = "validation_errors",
296    srcs = [
297        "lib/gprpp/validation_errors.cc",
298    ],
299    hdrs = [
300        "lib/gprpp/validation_errors.h",
301    ],
302    external_deps = [
303        "absl/status",
304        "absl/strings",
305    ],
306    language = "c++",
307    deps = ["//:gpr_platform"],
308)
309
310grpc_cc_library(
311    name = "overload",
312    language = "c++",
313    public_hdrs = ["lib/gprpp/overload.h"],
314    deps = ["//:gpr_platform"],
315)
316
317grpc_cc_library(
318    name = "match",
319    external_deps = ["absl/types:variant"],
320    language = "c++",
321    public_hdrs = ["lib/gprpp/match.h"],
322    deps = [
323        "overload",
324        "//:gpr_platform",
325    ],
326)
327
328grpc_cc_library(
329    name = "table",
330    external_deps = [
331        "absl/meta:type_traits",
332        "absl/utility",
333    ],
334    language = "c++",
335    public_hdrs = ["lib/gprpp/table.h"],
336    deps = [
337        "bitset",
338        "//:gpr_platform",
339    ],
340)
341
342grpc_cc_library(
343    name = "packed_table",
344    hdrs = ["lib/gprpp/packed_table.h"],
345    language = "c++",
346    deps = [
347        "sorted_pack",
348        "table",
349        "//:gpr_platform",
350    ],
351)
352
353grpc_cc_library(
354    name = "bitset",
355    language = "c++",
356    public_hdrs = ["lib/gprpp/bitset.h"],
357    deps = [
358        "useful",
359        "//:gpr_platform",
360    ],
361)
362
363grpc_cc_library(
364    name = "no_destruct",
365    language = "c++",
366    public_hdrs = ["lib/gprpp/no_destruct.h"],
367    deps = [
368        "construct_destruct",
369        "//:gpr_platform",
370    ],
371)
372
373grpc_cc_library(
374    name = "tchar",
375    srcs = [
376        "lib/gprpp/tchar.cc",
377    ],
378    hdrs = [
379        "lib/gprpp/tchar.h",
380    ],
381    deps = ["//:gpr_platform"],
382)
383
384grpc_cc_library(
385    name = "poll",
386    language = "c++",
387    public_hdrs = [
388        "lib/promise/poll.h",
389    ],
390    deps = [
391        "construct_destruct",
392        "//:gpr",
393        "//:gpr_platform",
394    ],
395)
396
397grpc_cc_library(
398    name = "map_pipe",
399    external_deps = ["absl/status"],
400    language = "c++",
401    public_hdrs = [
402        "lib/promise/map_pipe.h",
403    ],
404    deps = [
405        "for_each",
406        "map",
407        "pipe",
408        "poll",
409        "promise_factory",
410        "promise_trace",
411        "try_seq",
412        "//:gpr",
413        "//:gpr_platform",
414        "//:grpc_trace",
415    ],
416)
417
418grpc_cc_library(
419    name = "1999",
420    srcs = [
421        "lib/promise/party.cc",
422    ],
423    hdrs = [
424        "lib/promise/party.h",
425    ],
426    external_deps = [
427        "absl/base:core_headers",
428        "absl/strings",
429        "absl/strings:str_format",
430    ],
431    language = "c++",
432    deps = [
433        "activity",
434        "arena",
435        "construct_destruct",
436        "context",
437        "promise_factory",
438        "promise_trace",
439        "ref_counted",
440        "//:event_engine_base_hdrs",
441        "//:exec_ctx",
442        "//:gpr",
443        "//:grpc_trace",
444        "//:ref_counted_ptr",
445    ],
446)
447
448grpc_cc_library(
449    name = "context",
450    language = "c++",
451    public_hdrs = [
452        "lib/promise/context.h",
453    ],
454    deps = ["//:gpr"],
455)
456
457grpc_cc_library(
458    name = "map",
459    language = "c++",
460    public_hdrs = ["lib/promise/map.h"],
461    deps = [
462        "poll",
463        "promise_like",
464        "//:gpr_platform",
465    ],
466)
467
468grpc_cc_library(
469    name = "sleep",
470    srcs = [
471        "lib/promise/sleep.cc",
472    ],
473    hdrs = [
474        "lib/promise/sleep.h",
475    ],
476    external_deps = ["absl/status"],
477    deps = [
478        "activity",
479        "context",
480        "default_event_engine",
481        "poll",
482        "time",
483        "//:event_engine_base_hdrs",
484        "//:exec_ctx",
485        "//:gpr",
486    ],
487)
488
489grpc_cc_library(
490    name = "arena_promise",
491    external_deps = ["absl/meta:type_traits"],
492    language = "c++",
493    public_hdrs = [
494        "lib/promise/arena_promise.h",
495    ],
496    deps = [
497        "arena",
498        "construct_destruct",
499        "context",
500        "poll",
501        "//:gpr_platform",
502    ],
503)
504
505grpc_cc_library(
506    name = "promise_like",
507    external_deps = ["absl/meta:type_traits"],
508    language = "c++",
509    public_hdrs = [
510        "lib/promise/detail/promise_like.h",
511    ],
512    deps = [
513        "poll",
514        "//:gpr_platform",
515    ],
516)
517
518grpc_cc_library(
519    name = "cancel_callback",
520    language = "c++",
521    public_hdrs = [
522        "lib/promise/cancel_callback.h",
523    ],
524    deps = [
525        "promise_like",
526        "//:gpr_platform",
527    ],
528)
529
530grpc_cc_library(
531    name = "promise_factory",
532    external_deps = ["absl/meta:type_traits"],
533    language = "c++",
534    public_hdrs = [
535        "lib/promise/detail/promise_factory.h",
536    ],
537    deps = [
538        "promise_like",
539        "//:gpr_platform",
540    ],
541)
542
543grpc_cc_library(
544    name = "if",
545    external_deps = [
546        "absl/status:statusor",
547        "absl/types:variant",
548    ],
549    language = "c++",
550    public_hdrs = ["lib/promise/if.h"],
551    deps = [
552        "construct_destruct",
553        "poll",
554        "promise_factory",
555        "promise_like",
556        "//:gpr_platform",
557    ],
558)
559
560grpc_cc_library(
561    name = "promise_status",
562    external_deps = [
563        "absl/status",
564        "absl/status:statusor",
565    ],
566    language = "c++",
567    public_hdrs = [
568        "lib/promise/detail/status.h",
569    ],
570    deps = ["//:gpr_platform"],
571)
572
573grpc_cc_library(
574    name = "race",
575    language = "c++",
576    public_hdrs = ["lib/promise/race.h"],
577    deps = ["//:gpr_platform"],
578)
579
580grpc_cc_library(
581    name = "prioritized_race",
582    language = "c++",
583    public_hdrs = ["lib/promise/prioritized_race.h"],
584    deps = ["//:gpr_platform"],
585)
586
587grpc_cc_library(
588    name = "loop",
589    external_deps = [
590        "absl/status",
591        "absl/status:statusor",
592        "absl/types:variant",
593    ],
594    language = "c++",
595    public_hdrs = [
596        "lib/promise/loop.h",
597    ],
598    deps = [
599        "construct_destruct",
600        "poll",
601        "promise_factory",
602        "//:gpr_platform",
603    ],
604)
605
606grpc_cc_library(
607    name = "basic_join",
608    external_deps = ["absl/utility"],
609    language = "c++",
610    public_hdrs = [
611        "lib/promise/detail/basic_join.h",
612    ],
613    deps = [
614        "bitset",
615        "construct_destruct",
616        "poll",
617        "promise_like",
618        "//:gpr_platform",
619    ],
620)
621
622grpc_cc_library(
623    name = "join",
624    external_deps = ["absl/meta:type_traits"],
625    language = "c++",
626    public_hdrs = [
627        "lib/promise/join.h",
628    ],
629    deps = [
630        "basic_join",
631        "//:gpr_platform",
632    ],
633)
634
635grpc_cc_library(
636    name = "try_join",
637    external_deps = [
638        "absl/meta:type_traits",
639        "absl/status",
640        "absl/status:statusor",
641    ],
642    language = "c++",
643    public_hdrs = [
644        "lib/promise/try_join.h",
645    ],
646    deps = [
647        "basic_join",
648        "poll",
649        "promise_status",
650        "//:gpr_platform",
651    ],
652)
653
654grpc_cc_library(
655    name = "switch",
656    language = "c++",
657    public_hdrs = [
658        "lib/promise/detail/switch.h",
659    ],
660    deps = ["//:gpr_platform"],
661)
662
663grpc_cc_library(
664    name = "basic_seq",
665    external_deps = [
666        "absl/meta:type_traits",
667        "absl/utility",
668    ],
669    language = "c++",
670    public_hdrs = [
671        "lib/promise/detail/basic_seq.h",
672    ],
673    deps = [
674        "construct_destruct",
675        "poll",
676        "promise_factory",
677        "promise_like",
678        "switch",
679        "//:gpr_platform",
680    ],
681)
682
683grpc_cc_library(
684    name = "seq",
685    language = "c++",
686    public_hdrs = [
687        "lib/promise/seq.h",
688    ],
689    deps = [
690        "basic_seq",
691        "poll",
692        "promise_like",
693        "//:gpr_platform",
694    ],
695)
696
697grpc_cc_library(
698    name = "try_seq",
699    external_deps = [
700        "absl/meta:type_traits",
701        "absl/status",
702        "absl/status:statusor",
703    ],
704    language = "c++",
705    public_hdrs = [
706        "lib/promise/try_seq.h",
707    ],
708    deps = [
709        "basic_seq",
710        "poll",
711        "promise_like",
712        "promise_status",
713        "//:gpr_platform",
714    ],
715)
716
717grpc_cc_library(
718    name = "activity",
719    srcs = [
720        "lib/promise/activity.cc",
721    ],
722    external_deps = [
723        "absl/base:core_headers",
724        "absl/status",
725        "absl/strings",
726        "absl/strings:str_format",
727        "absl/types:optional",
728    ],
729    language = "c++",
730    public_hdrs = [
731        "lib/promise/activity.h",
732    ],
733    deps = [
734        "atomic_utils",
735        "construct_destruct",
736        "context",
737        "no_destruct",
738        "poll",
739        "promise_factory",
740        "promise_status",
741        "//:gpr",
742        "//:orphanable",
743    ],
744)
745
746grpc_cc_library(
747    name = "exec_ctx_wakeup_scheduler",
748    hdrs = [
749        "lib/promise/exec_ctx_wakeup_scheduler.h",
750    ],
751    external_deps = ["absl/status"],
752    language = "c++",
753    deps = [
754        "closure",
755        "error",
756        "//:debug_location",
757        "//:exec_ctx",
758        "//:gpr_platform",
759    ],
760)
761
762grpc_cc_library(
763    name = "event_engine_wakeup_scheduler",
764    hdrs = [
765        "lib/promise/event_engine_wakeup_scheduler.h",
766    ],
767    language = "c++",
768    deps = [
769        "//:event_engine_base_hdrs",
770        "//:exec_ctx",
771        "//:gpr_platform",
772    ],
773)
774
775grpc_cc_library(
776    name = "wait_set",
777    external_deps = [
778        "absl/container:flat_hash_set",
779        "absl/hash",
780    ],
781    language = "c++",
782    public_hdrs = [
783        "lib/promise/wait_set.h",
784    ],
785    deps = [
786        "activity",
787        "poll",
788        "//:gpr_platform",
789    ],
790)
791
792grpc_cc_library(
793    name = "latch",
794    external_deps = ["absl/strings"],
795    language = "c++",
796    public_hdrs = [
797        "lib/promise/latch.h",
798    ],
799    deps = [
800        "activity",
801        "poll",
802        "promise_trace",
803        "//:gpr",
804        "//:grpc_trace",
805    ],
806)
807
808grpc_cc_library(
809    name = "interceptor_list",
810    hdrs = [
811        "lib/promise/interceptor_list.h",
812    ],
813    external_deps = [
814        "absl/strings",
815        "absl/strings:str_format",
816        "absl/types:optional",
817    ],
818    deps = [
819        "arena",
820        "construct_destruct",
821        "context",
822        "poll",
823        "promise_factory",
824        "promise_trace",
825        "//:debug_location",
826        "//:gpr",
827        "//:grpc_trace",
828    ],
829)
830
831grpc_cc_library(
832    name = "pipe",
833    hdrs = [
834        "lib/promise/pipe.h",
835    ],
836    external_deps = [
837        "absl/strings",
838        "absl/types:optional",
839        "absl/types:variant",
840    ],
841    language = "c++",
842    deps = [
843        "activity",
844        "arena",
845        "context",
846        "if",
847        "interceptor_list",
848        "map",
849        "poll",
850        "promise_trace",
851        "seq",
852        "//:debug_location",
853        "//:gpr",
854        "//:grpc_trace",
855        "//:ref_counted_ptr",
856    ],
857)
858
859grpc_cc_library(
860    name = "promise_trace",
861    srcs = [
862        "lib/promise/trace.cc",
863    ],
864    hdrs = [
865        "lib/promise/trace.h",
866    ],
867    language = "c++",
868    deps = [
869        "//:gpr_platform",
870        "//:grpc_trace",
871    ],
872)
873
874grpc_cc_library(
875    name = "mpsc",
876    hdrs = [
877        "lib/promise/mpsc.h",
878    ],
879    external_deps = ["absl/base:core_headers"],
880    language = "c++",
881    deps = [
882        "activity",
883        "poll",
884        "ref_counted",
885        "wait_set",
886        "//:gpr",
887        "//:ref_counted_ptr",
888    ],
889)
890
891grpc_cc_library(
892    name = "for_each",
893    external_deps = [
894        "absl/status",
895        "absl/strings",
896    ],
897    language = "c++",
898    public_hdrs = ["lib/promise/for_each.h"],
899    deps = [
900        "activity",
901        "construct_destruct",
902        "poll",
903        "promise_factory",
904        "promise_trace",
905        "//:gpr",
906        "//:gpr_platform",
907        "//:grpc_trace",
908    ],
909)
910
911grpc_cc_library(
912    name = "ref_counted",
913    language = "c++",
914    public_hdrs = ["lib/gprpp/ref_counted.h"],
915    deps = [
916        "atomic_utils",
917        "//:debug_location",
918        "//:gpr",
919        "//:ref_counted_ptr",
920    ],
921)
922
923grpc_cc_library(
924    name = "dual_ref_counted",
925    language = "c++",
926    public_hdrs = ["lib/gprpp/dual_ref_counted.h"],
927    deps = [
928        "//:debug_location",
929        "//:gpr",
930        "//:orphanable",
931        "//:ref_counted_ptr",
932    ],
933)
934
935grpc_cc_library(
936    name = "uuid_v4",
937    srcs = ["lib/gprpp/uuid_v4.cc"],
938    external_deps = ["absl/strings:str_format"],
939    language = "c++",
940    public_hdrs = ["lib/gprpp/uuid_v4.h"],
941    deps = ["//:gpr"],
942)
943
944grpc_cc_library(
945    name = "handshaker_factory",
946    language = "c++",
947    public_hdrs = [
948        "lib/transport/handshaker_factory.h",
949    ],
950    deps = [
951        "channel_args",
952        "iomgr_fwd",
953        "//:gpr_platform",
954    ],
955)
956
957grpc_cc_library(
958    name = "handshaker_registry",
959    srcs = [
960        "lib/transport/handshaker_registry.cc",
961    ],
962    language = "c++",
963    public_hdrs = [
964        "lib/transport/handshaker_registry.h",
965    ],
966    deps = [
967        "channel_args",
968        "handshaker_factory",
969        "iomgr_fwd",
970        "//:gpr_platform",
971    ],
972)
973
974grpc_cc_library(
975    name = "tcp_connect_handshaker",
976    srcs = [
977        "lib/transport/tcp_connect_handshaker.cc",
978    ],
979    external_deps = [
980        "absl/base:core_headers",
981        "absl/status",
982        "absl/status:statusor",
983        "absl/strings",
984        "absl/types:optional",
985    ],
986    language = "c++",
987    public_hdrs = [
988        "lib/transport/tcp_connect_handshaker.h",
989    ],
990    deps = [
991        "channel_args",
992        "channel_args_endpoint_config",
993        "closure",
994        "error",
995        "handshaker_factory",
996        "handshaker_registry",
997        "iomgr_fwd",
998        "pollset_set",
999        "resolved_address",
1000        "slice",
1001        "//:config",
1002        "//:debug_location",
1003        "//:exec_ctx",
1004        "//:gpr",
1005        "//:grpc_base",
1006        "//:handshaker",
1007        "//:parse_address",
1008        "//:ref_counted_ptr",
1009        "//:uri_parser",
1010    ],
1011)
1012
1013grpc_cc_library(
1014    name = "channel_creds_registry",
1015    hdrs = [
1016        "lib/security/credentials/channel_creds_registry.h",
1017    ],
1018    external_deps = ["absl/strings"],
1019    language = "c++",
1020    deps = [
1021        "json",
1022        "//:gpr_platform",
1023        "//:ref_counted_ptr",
1024    ],
1025)
1026
1027grpc_cc_library(
1028    name = "event_engine_memory_allocator",
1029    srcs = [
1030        "lib/event_engine/memory_allocator.cc",
1031    ],
1032    hdrs = [
1033        "//:include/grpc/event_engine/internal/memory_allocator_impl.h",
1034        "//:include/grpc/event_engine/memory_allocator.h",
1035        "//:include/grpc/event_engine/memory_request.h",
1036    ],
1037    external_deps = ["absl/strings"],
1038    language = "c++",
1039    deps = [
1040        "slice",
1041        "slice_refcount",
1042        "//:gpr_platform",
1043    ],
1044)
1045
1046grpc_cc_library(
1047    name = "event_engine_memory_allocator_factory",
1048    hdrs = [
1049        "lib/event_engine/memory_allocator_factory.h",
1050    ],
1051    external_deps = ["absl/strings"],
1052    language = "c++",
1053    deps = [
1054        "event_engine_memory_allocator",
1055        "memory_quota",
1056        "//:gpr_platform",
1057    ],
1058)
1059
1060grpc_cc_library(
1061    name = "memory_quota",
1062    srcs = [
1063        "lib/resource_quota/memory_quota.cc",
1064    ],
1065    hdrs = [
1066        "lib/resource_quota/memory_quota.h",
1067    ],
1068    external_deps = [
1069        "absl/base:core_headers",
1070        "absl/container:flat_hash_set",
1071        "absl/status",
1072        "absl/strings",
1073        "absl/types:optional",
1074    ],
1075    deps = [
1076        "activity",
1077        "basic_seq",
1078        "event_engine_memory_allocator",
1079        "exec_ctx_wakeup_scheduler",
1080        "experiments",
1081        "loop",
1082        "map",
1083        "periodic_update",
1084        "poll",
1085        "race",
1086        "resource_quota_trace",
1087        "seq",
1088        "time",
1089        "useful",
1090        "//:gpr",
1091        "//:grpc_trace",
1092        "//:orphanable",
1093        "//:ref_counted_ptr",
1094    ],
1095)
1096
1097grpc_cc_library(
1098    name = "periodic_update",
1099    srcs = [
1100        "lib/resource_quota/periodic_update.cc",
1101    ],
1102    hdrs = [
1103        "lib/resource_quota/periodic_update.h",
1104    ],
1105    external_deps = ["absl/functional:function_ref"],
1106    deps = [
1107        "time",
1108        "useful",
1109        "//:gpr_platform",
1110    ],
1111)
1112
1113grpc_cc_library(
1114    name = "arena",
1115    srcs = [
1116        "lib/resource_quota/arena.cc",
1117    ],
1118    hdrs = [
1119        "lib/resource_quota/arena.h",
1120    ],
1121    external_deps = [
1122        "absl/meta:type_traits",
1123        "absl/utility",
1124    ],
1125    deps = [
1126        "construct_destruct",
1127        "context",
1128        "event_engine_memory_allocator",
1129        "memory_quota",
1130        "//:gpr",
1131    ],
1132)
1133
1134grpc_cc_library(
1135    name = "thread_quota",
1136    srcs = [
1137        "lib/resource_quota/thread_quota.cc",
1138    ],
1139    hdrs = [
1140        "lib/resource_quota/thread_quota.h",
1141    ],
1142    external_deps = ["absl/base:core_headers"],
1143    deps = [
1144        "ref_counted",
1145        "//:gpr",
1146        "//:ref_counted_ptr",
1147    ],
1148)
1149
1150grpc_cc_library(
1151    name = "resource_quota_trace",
1152    srcs = [
1153        "lib/resource_quota/trace.cc",
1154    ],
1155    hdrs = [
1156        "lib/resource_quota/trace.h",
1157    ],
1158    deps = [
1159        "//:gpr_platform",
1160        "//:grpc_trace",
1161    ],
1162)
1163
1164grpc_cc_library(
1165    name = "resource_quota",
1166    srcs = [
1167        "lib/resource_quota/resource_quota.cc",
1168    ],
1169    hdrs = [
1170        "lib/resource_quota/resource_quota.h",
1171    ],
1172    external_deps = ["absl/strings"],
1173    deps = [
1174        "memory_quota",
1175        "ref_counted",
1176        "thread_quota",
1177        "useful",
1178        "//:cpp_impl_of",
1179        "//:event_engine_base_hdrs",
1180        "//:gpr_platform",
1181        "//:ref_counted_ptr",
1182    ],
1183)
1184
1185grpc_cc_library(
1186    name = "slice_refcount",
1187    srcs = [
1188        "lib/slice/slice_refcount.cc",
1189    ],
1190    hdrs = [
1191        "lib/slice/slice_refcount.h",
1192    ],
1193    public_hdrs = [
1194        "//:include/grpc/slice.h",
1195    ],
1196    deps = [
1197        "//:debug_location",
1198        "//:event_engine_base_hdrs",
1199        "//:gpr",
1200        "//:grpc_trace",
1201    ],
1202)
1203
1204grpc_cc_library(
1205    name = "slice",
1206    srcs = [
1207        "lib/slice/slice.cc",
1208        "lib/slice/slice_string_helpers.cc",
1209    ],
1210    hdrs = [
1211        "lib/slice/slice.h",
1212        "lib/slice/slice_internal.h",
1213        "lib/slice/slice_string_helpers.h",
1214        "//:include/grpc/slice.h",
1215    ],
1216    external_deps = [
1217        "absl/hash",
1218        "absl/strings",
1219    ],
1220    visibility = ["@grpc:alt_grpc_base_legacy"],
1221    deps = [
1222        "slice_cast",
1223        "slice_refcount",
1224        "//:debug_location",
1225        "//:event_engine_base_hdrs",
1226        "//:gpr",
1227    ],
1228)
1229
1230grpc_cc_library(
1231    name = "slice_buffer",
1232    srcs = [
1233        "lib/slice/slice_buffer.cc",
1234    ],
1235    hdrs = [
1236        "lib/slice/slice_buffer.h",
1237        "//:include/grpc/slice_buffer.h",
1238    ],
1239    deps = [
1240        "slice",
1241        "slice_refcount",
1242        "//:gpr",
1243    ],
1244)
1245
1246grpc_cc_library(
1247    name = "error",
1248    srcs = [
1249        "lib/iomgr/error.cc",
1250    ],
1251    hdrs = [
1252        "lib/iomgr/error.h",
1253    ],
1254    external_deps = [
1255        "absl/status",
1256        "absl/strings:str_format",
1257    ],
1258    visibility = ["@grpc:alt_grpc_base_legacy"],
1259    deps = [
1260        "gpr_spinlock",
1261        "slice",
1262        "slice_refcount",
1263        "status_helper",
1264        "strerror",
1265        "useful",
1266        "//:gpr",
1267        "//:grpc_public_hdrs",
1268        "//:grpc_trace",
1269    ],
1270)
1271
1272grpc_cc_library(
1273    name = "closure",
1274    srcs = [
1275        "lib/iomgr/closure.cc",
1276    ],
1277    hdrs = [
1278        "lib/iomgr/closure.h",
1279    ],
1280    external_deps = ["absl/strings:str_format"],
1281    visibility = ["@grpc:alt_grpc_base_legacy"],
1282    deps = [
1283        "error",
1284        "gpr_manual_constructor",
1285        "//:debug_location",
1286        "//:gpr",
1287    ],
1288)
1289
1290grpc_cc_library(
1291    name = "time",
1292    srcs = [
1293        "lib/gprpp/time.cc",
1294    ],
1295    hdrs = [
1296        "lib/gprpp/time.h",
1297    ],
1298    external_deps = [
1299        "absl/strings:str_format",
1300        "absl/types:optional",
1301    ],
1302    deps = [
1303        "no_destruct",
1304        "useful",
1305        "//:event_engine_base_hdrs",
1306        "//:gpr",
1307    ],
1308)
1309
1310grpc_cc_library(
1311    name = "iomgr_port",
1312    hdrs = [
1313        "lib/iomgr/port.h",
1314    ],
1315    deps = ["//:gpr_platform"],
1316)
1317
1318grpc_cc_library(
1319    name = "iomgr_fwd",
1320    hdrs = [
1321        "lib/iomgr/iomgr_fwd.h",
1322    ],
1323    deps = ["//:gpr_platform"],
1324)
1325
1326grpc_cc_library(
1327    name = "grpc_sockaddr",
1328    srcs = [
1329        "lib/iomgr/sockaddr_utils_posix.cc",
1330        "lib/iomgr/socket_utils_windows.cc",
1331    ],
1332    hdrs = [
1333        "lib/iomgr/sockaddr.h",
1334        "lib/iomgr/sockaddr_posix.h",
1335        "lib/iomgr/sockaddr_windows.h",
1336        "lib/iomgr/socket_utils.h",
1337    ],
1338    deps = [
1339        "iomgr_port",
1340        "//:gpr",
1341    ],
1342)
1343
1344grpc_cc_library(
1345    name = "avl",
1346    hdrs = [
1347        "lib/avl/avl.h",
1348    ],
1349    deps = [
1350        "useful",
1351        "//:gpr_platform",
1352    ],
1353)
1354
1355grpc_cc_library(
1356    name = "time_averaged_stats",
1357    srcs = ["lib/gprpp/time_averaged_stats.cc"],
1358    hdrs = [
1359        "lib/gprpp/time_averaged_stats.h",
1360    ],
1361    deps = ["//:gpr"],
1362)
1363
1364grpc_cc_library(
1365    name = "forkable",
1366    srcs = [
1367        "lib/event_engine/forkable.cc",
1368    ],
1369    hdrs = [
1370        "lib/event_engine/forkable.h",
1371    ],
1372    external_deps = ["absl/container:flat_hash_set"],
1373    deps = [
1374        "no_destruct",
1375        "//:gpr",
1376        "//:gpr_platform",
1377    ],
1378)
1379
1380grpc_cc_library(
1381    name = "event_engine_poller",
1382    hdrs = [
1383        "lib/event_engine/poller.h",
1384    ],
1385    external_deps = ["absl/functional:function_ref"],
1386    deps = [
1387        "//:event_engine_base_hdrs",
1388        "//:gpr_platform",
1389    ],
1390)
1391
1392grpc_cc_library(
1393    name = "event_engine_time_util",
1394    srcs = ["lib/event_engine/time_util.cc"],
1395    hdrs = ["lib/event_engine/time_util.h"],
1396    deps = [
1397        "//:event_engine_base_hdrs",
1398        "//:gpr_platform",
1399    ],
1400)
1401
1402grpc_cc_library(
1403    name = "event_engine_work_queue",
1404    hdrs = [
1405        "lib/event_engine/work_queue/work_queue.h",
1406    ],
1407    external_deps = ["absl/functional:any_invocable"],
1408    deps = [
1409        "//:event_engine_base_hdrs",
1410        "//:gpr",
1411    ],
1412)
1413
1414grpc_cc_library(
1415    name = "event_engine_basic_work_queue",
1416    srcs = [
1417        "lib/event_engine/work_queue/basic_work_queue.cc",
1418    ],
1419    hdrs = [
1420        "lib/event_engine/work_queue/basic_work_queue.h",
1421    ],
1422    external_deps = [
1423        "absl/base:core_headers",
1424        "absl/functional:any_invocable",
1425    ],
1426    deps = [
1427        "common_event_engine_closures",
1428        "event_engine_work_queue",
1429        "//:event_engine_base_hdrs",
1430        "//:gpr",
1431    ],
1432)
1433
1434grpc_cc_library(
1435    name = "common_event_engine_closures",
1436    hdrs = ["lib/event_engine/common_closures.h"],
1437    external_deps = ["absl/functional:any_invocable"],
1438    deps = [
1439        "//:event_engine_base_hdrs",
1440        "//:gpr_platform",
1441    ],
1442)
1443
1444grpc_cc_library(
1445    name = "posix_event_engine_timer",
1446    srcs = [
1447        "lib/event_engine/posix_engine/timer.cc",
1448        "lib/event_engine/posix_engine/timer_heap.cc",
1449    ],
1450    hdrs = [
1451        "lib/event_engine/posix_engine/timer.h",
1452        "lib/event_engine/posix_engine/timer_heap.h",
1453    ],
1454    external_deps = [
1455        "absl/base:core_headers",
1456        "absl/types:optional",
1457    ],
1458    deps = [
1459        "time",
1460        "time_averaged_stats",
1461        "useful",
1462        "//:event_engine_base_hdrs",
1463        "//:gpr",
1464    ],
1465)
1466
1467grpc_cc_library(
1468    name = "event_engine_thread_local",
1469    srcs = ["lib/event_engine/thread_local.cc"],
1470    hdrs = ["lib/event_engine/thread_local.h"],
1471    deps = ["//:gpr_platform"],
1472)
1473
1474grpc_cc_library(
1475    name = "event_engine_thread_pool",
1476    srcs = [
1477        "lib/event_engine/thread_pool/original_thread_pool.cc",
1478        "lib/event_engine/thread_pool/thread_pool_factory.cc",
1479        "lib/event_engine/thread_pool/work_stealing_thread_pool.cc",
1480    ],
1481    hdrs = [
1482        "lib/event_engine/thread_pool/original_thread_pool.h",
1483        "lib/event_engine/thread_pool/thread_pool.h",
1484        "lib/event_engine/thread_pool/work_stealing_thread_pool.h",
1485    ],
1486    external_deps = [
1487        "absl/base:core_headers",
1488        "absl/container:flat_hash_set",
1489        "absl/functional:any_invocable",
1490        "absl/time",
1491    ],
1492    deps = [
1493        "common_event_engine_closures",
1494        "event_engine_basic_work_queue",
1495        "event_engine_thread_local",
1496        "event_engine_trace",
1497        "event_engine_work_queue",
1498        "experiments",
1499        "forkable",
1500        "time",
1501        "useful",
1502        "//:backoff",
1503        "//:event_engine_base_hdrs",
1504        "//:gpr",
1505        "//:grpc_trace",
1506    ],
1507)
1508
1509grpc_cc_library(
1510    name = "posix_event_engine_base_hdrs",
1511    srcs = [],
1512    hdrs = [
1513        "lib/event_engine/posix.h",
1514    ],
1515    external_deps = [
1516        "absl/functional:any_invocable",
1517        "absl/status",
1518        "absl/status:statusor",
1519    ],
1520    deps = [
1521        "//:event_engine_base_hdrs",
1522        "//:gpr",
1523    ],
1524)
1525
1526grpc_cc_library(
1527    name = "posix_event_engine_timer_manager",
1528    srcs = ["lib/event_engine/posix_engine/timer_manager.cc"],
1529    hdrs = [
1530        "lib/event_engine/posix_engine/timer_manager.h",
1531    ],
1532    external_deps = [
1533        "absl/base:core_headers",
1534        "absl/time",
1535        "absl/types:optional",
1536    ],
1537    deps = [
1538        "event_engine_thread_pool",
1539        "forkable",
1540        "notification",
1541        "posix_event_engine_timer",
1542        "time",
1543        "//:event_engine_base_hdrs",
1544        "//:gpr",
1545        "//:grpc_trace",
1546    ],
1547)
1548
1549grpc_cc_library(
1550    name = "posix_event_engine_event_poller",
1551    srcs = [],
1552    hdrs = [
1553        "lib/event_engine/posix_engine/event_poller.h",
1554    ],
1555    external_deps = [
1556        "absl/functional:any_invocable",
1557        "absl/status",
1558        "absl/strings",
1559    ],
1560    deps = [
1561        "event_engine_poller",
1562        "posix_event_engine_closure",
1563        "//:event_engine_base_hdrs",
1564        "//:gpr_platform",
1565    ],
1566)
1567
1568grpc_cc_library(
1569    name = "posix_event_engine_closure",
1570    srcs = [],
1571    hdrs = [
1572        "lib/event_engine/posix_engine/posix_engine_closure.h",
1573    ],
1574    external_deps = [
1575        "absl/functional:any_invocable",
1576        "absl/status",
1577    ],
1578    deps = [
1579        "//:event_engine_base_hdrs",
1580        "//:gpr_platform",
1581    ],
1582)
1583
1584grpc_cc_library(
1585    name = "posix_event_engine_lockfree_event",
1586    srcs = [
1587        "lib/event_engine/posix_engine/lockfree_event.cc",
1588    ],
1589    hdrs = [
1590        "lib/event_engine/posix_engine/lockfree_event.h",
1591    ],
1592    external_deps = ["absl/status"],
1593    deps = [
1594        "gpr_atm",
1595        "posix_event_engine_closure",
1596        "posix_event_engine_event_poller",
1597        "status_helper",
1598        "//:gpr",
1599    ],
1600)
1601
1602grpc_cc_library(
1603    name = "posix_event_engine_wakeup_fd_posix",
1604    hdrs = [
1605        "lib/event_engine/posix_engine/wakeup_fd_posix.h",
1606    ],
1607    external_deps = ["absl/status"],
1608    deps = ["//:gpr_platform"],
1609)
1610
1611grpc_cc_library(
1612    name = "posix_event_engine_wakeup_fd_posix_pipe",
1613    srcs = [
1614        "lib/event_engine/posix_engine/wakeup_fd_pipe.cc",
1615    ],
1616    hdrs = [
1617        "lib/event_engine/posix_engine/wakeup_fd_pipe.h",
1618    ],
1619    external_deps = [
1620        "absl/status",
1621        "absl/status:statusor",
1622        "absl/strings",
1623    ],
1624    deps = [
1625        "iomgr_port",
1626        "posix_event_engine_wakeup_fd_posix",
1627        "strerror",
1628        "//:gpr",
1629    ],
1630)
1631
1632grpc_cc_library(
1633    name = "posix_event_engine_wakeup_fd_posix_eventfd",
1634    srcs = [
1635        "lib/event_engine/posix_engine/wakeup_fd_eventfd.cc",
1636    ],
1637    hdrs = [
1638        "lib/event_engine/posix_engine/wakeup_fd_eventfd.h",
1639    ],
1640    external_deps = [
1641        "absl/status",
1642        "absl/status:statusor",
1643        "absl/strings",
1644    ],
1645    deps = [
1646        "iomgr_port",
1647        "posix_event_engine_wakeup_fd_posix",
1648        "strerror",
1649        "//:gpr",
1650    ],
1651)
1652
1653grpc_cc_library(
1654    name = "posix_event_engine_wakeup_fd_posix_default",
1655    srcs = [
1656        "lib/event_engine/posix_engine/wakeup_fd_posix_default.cc",
1657    ],
1658    hdrs = [
1659        "lib/event_engine/posix_engine/wakeup_fd_posix_default.h",
1660    ],
1661    external_deps = [
1662        "absl/status",
1663        "absl/status:statusor",
1664    ],
1665    deps = [
1666        "iomgr_port",
1667        "posix_event_engine_wakeup_fd_posix",
1668        "posix_event_engine_wakeup_fd_posix_eventfd",
1669        "posix_event_engine_wakeup_fd_posix_pipe",
1670        "//:gpr_platform",
1671    ],
1672)
1673
1674grpc_cc_library(
1675    name = "posix_event_engine_poller_posix_epoll1",
1676    srcs = [
1677        "lib/event_engine/posix_engine/ev_epoll1_linux.cc",
1678    ],
1679    hdrs = [
1680        "lib/event_engine/posix_engine/ev_epoll1_linux.h",
1681    ],
1682    external_deps = [
1683        "absl/base:core_headers",
1684        "absl/container:inlined_vector",
1685        "absl/functional:function_ref",
1686        "absl/status",
1687        "absl/status:statusor",
1688        "absl/strings",
1689        "absl/strings:str_format",
1690    ],
1691    deps = [
1692        "event_engine_poller",
1693        "event_engine_time_util",
1694        "forkable",
1695        "iomgr_port",
1696        "posix_event_engine_closure",
1697        "posix_event_engine_event_poller",
1698        "posix_event_engine_internal_errqueue",
1699        "posix_event_engine_lockfree_event",
1700        "posix_event_engine_wakeup_fd_posix",
1701        "posix_event_engine_wakeup_fd_posix_default",
1702        "status_helper",
1703        "strerror",
1704        "//:event_engine_base_hdrs",
1705        "//:gpr",
1706        "//:grpc_public_hdrs",
1707    ],
1708)
1709
1710grpc_cc_library(
1711    name = "posix_event_engine_poller_posix_poll",
1712    srcs = [
1713        "lib/event_engine/posix_engine/ev_poll_posix.cc",
1714    ],
1715    hdrs = [
1716        "lib/event_engine/posix_engine/ev_poll_posix.h",
1717    ],
1718    external_deps = [
1719        "absl/base:core_headers",
1720        "absl/container:inlined_vector",
1721        "absl/functional:any_invocable",
1722        "absl/functional:function_ref",
1723        "absl/status",
1724        "absl/status:statusor",
1725        "absl/strings",
1726        "absl/strings:str_format",
1727    ],
1728    deps = [
1729        "common_event_engine_closures",
1730        "event_engine_poller",
1731        "event_engine_time_util",
1732        "iomgr_port",
1733        "posix_event_engine_closure",
1734        "posix_event_engine_event_poller",
1735        "posix_event_engine_wakeup_fd_posix",
1736        "posix_event_engine_wakeup_fd_posix_default",
1737        "status_helper",
1738        "strerror",
1739        "time",
1740        "//:event_engine_base_hdrs",
1741        "//:gpr",
1742        "//:grpc_public_hdrs",
1743    ],
1744)
1745
1746grpc_cc_library(
1747    name = "posix_event_engine_poller_posix_default",
1748    srcs = [
1749        "lib/event_engine/posix_engine/event_poller_posix_default.cc",
1750    ],
1751    hdrs = [
1752        "lib/event_engine/posix_engine/event_poller_posix_default.h",
1753    ],
1754    external_deps = ["absl/strings"],
1755    deps = [
1756        "iomgr_port",
1757        "posix_event_engine_event_poller",
1758        "posix_event_engine_poller_posix_epoll1",
1759        "posix_event_engine_poller_posix_poll",
1760        "//:config_vars",
1761        "//:gpr",
1762    ],
1763)
1764
1765grpc_cc_library(
1766    name = "posix_event_engine_internal_errqueue",
1767    srcs = [
1768        "lib/event_engine/posix_engine/internal_errqueue.cc",
1769    ],
1770    hdrs = [
1771        "lib/event_engine/posix_engine/internal_errqueue.h",
1772    ],
1773    deps = [
1774        "iomgr_port",
1775        "strerror",
1776        "//:gpr",
1777    ],
1778)
1779
1780grpc_cc_library(
1781    name = "posix_event_engine_traced_buffer_list",
1782    srcs = [
1783        "lib/event_engine/posix_engine/traced_buffer_list.cc",
1784    ],
1785    hdrs = [
1786        "lib/event_engine/posix_engine/traced_buffer_list.h",
1787    ],
1788    external_deps = [
1789        "absl/functional:any_invocable",
1790        "absl/status",
1791        "absl/types:optional",
1792    ],
1793    deps = [
1794        "iomgr_port",
1795        "posix_event_engine_internal_errqueue",
1796        "//:gpr",
1797    ],
1798)
1799
1800grpc_cc_library(
1801    name = "posix_event_engine_endpoint",
1802    srcs = [
1803        "lib/event_engine/posix_engine/posix_endpoint.cc",
1804    ],
1805    hdrs = [
1806        "lib/event_engine/posix_engine/posix_endpoint.h",
1807    ],
1808    external_deps = [
1809        "absl/base:core_headers",
1810        "absl/container:flat_hash_map",
1811        "absl/functional:any_invocable",
1812        "absl/hash",
1813        "absl/meta:type_traits",
1814        "absl/status",
1815        "absl/status:statusor",
1816        "absl/strings",
1817        "absl/types:optional",
1818    ],
1819    deps = [
1820        "event_engine_common",
1821        "event_engine_tcp_socket_utils",
1822        "experiments",
1823        "iomgr_port",
1824        "load_file",
1825        "memory_quota",
1826        "posix_event_engine_base_hdrs",
1827        "posix_event_engine_closure",
1828        "posix_event_engine_event_poller",
1829        "posix_event_engine_internal_errqueue",
1830        "posix_event_engine_tcp_socket_utils",
1831        "posix_event_engine_traced_buffer_list",
1832        "ref_counted",
1833        "resource_quota",
1834        "slice",
1835        "status_helper",
1836        "strerror",
1837        "time",
1838        "//:debug_location",
1839        "//:event_engine_base_hdrs",
1840        "//:gpr",
1841        "//:grpc_public_hdrs",
1842        "//:ref_counted_ptr",
1843    ],
1844)
1845
1846grpc_cc_library(
1847    name = "event_engine_utils",
1848    srcs = ["lib/event_engine/utils.cc"],
1849    hdrs = ["lib/event_engine/utils.h"],
1850    external_deps = ["absl/strings"],
1851    deps = [
1852        "time",
1853        "//:event_engine_base_hdrs",
1854        "//:gpr_platform",
1855    ],
1856)
1857
1858grpc_cc_library(
1859    name = "posix_event_engine_tcp_socket_utils",
1860    srcs = [
1861        "lib/event_engine/posix_engine/tcp_socket_utils.cc",
1862    ],
1863    hdrs = [
1864        "lib/event_engine/posix_engine/tcp_socket_utils.h",
1865    ],
1866    external_deps = [
1867        "absl/cleanup",
1868        "absl/status",
1869        "absl/status:statusor",
1870        "absl/strings",
1871        "absl/types:optional",
1872    ],
1873    deps = [
1874        "event_engine_tcp_socket_utils",
1875        "iomgr_port",
1876        "resource_quota",
1877        "socket_mutator",
1878        "status_helper",
1879        "strerror",
1880        "time",
1881        "useful",
1882        "//:event_engine_base_hdrs",
1883        "//:gpr",
1884        "//:ref_counted_ptr",
1885    ],
1886)
1887
1888grpc_cc_library(
1889    name = "posix_event_engine_listener_utils",
1890    srcs = [
1891        "lib/event_engine/posix_engine/posix_engine_listener_utils.cc",
1892    ],
1893    hdrs = [
1894        "lib/event_engine/posix_engine/posix_engine_listener_utils.h",
1895    ],
1896    external_deps = [
1897        "absl/cleanup",
1898        "absl/status",
1899        "absl/status:statusor",
1900        "absl/strings",
1901    ],
1902    deps = [
1903        "event_engine_tcp_socket_utils",
1904        "iomgr_port",
1905        "posix_event_engine_tcp_socket_utils",
1906        "socket_mutator",
1907        "status_helper",
1908        "//:event_engine_base_hdrs",
1909        "//:gpr",
1910    ],
1911)
1912
1913grpc_cc_library(
1914    name = "posix_event_engine_listener",
1915    srcs = [
1916        "lib/event_engine/posix_engine/posix_engine_listener.cc",
1917    ],
1918    hdrs = [
1919        "lib/event_engine/posix_engine/posix_engine_listener.h",
1920    ],
1921    external_deps = [
1922        "absl/base:core_headers",
1923        "absl/functional:any_invocable",
1924        "absl/status",
1925        "absl/status:statusor",
1926        "absl/strings",
1927        "absl/types:optional",
1928    ],
1929    deps = [
1930        "event_engine_tcp_socket_utils",
1931        "iomgr_port",
1932        "posix_event_engine_base_hdrs",
1933        "posix_event_engine_closure",
1934        "posix_event_engine_endpoint",
1935        "posix_event_engine_event_poller",
1936        "posix_event_engine_listener_utils",
1937        "posix_event_engine_tcp_socket_utils",
1938        "socket_mutator",
1939        "status_helper",
1940        "time",
1941        "//:event_engine_base_hdrs",
1942        "//:gpr",
1943    ],
1944)
1945
1946grpc_cc_library(
1947    name = "posix_event_engine",
1948    srcs = ["lib/event_engine/posix_engine/posix_engine.cc"],
1949    hdrs = ["lib/event_engine/posix_engine/posix_engine.h"],
1950    external_deps = [
1951        "absl/base:core_headers",
1952        "absl/cleanup",
1953        "absl/container:flat_hash_map",
1954        "absl/functional:any_invocable",
1955        "absl/hash",
1956        "absl/meta:type_traits",
1957        "absl/status",
1958        "absl/status:statusor",
1959        "absl/strings",
1960    ],
1961    deps = [
1962        "event_engine_common",
1963        "event_engine_poller",
1964        "event_engine_tcp_socket_utils",
1965        "event_engine_thread_pool",
1966        "event_engine_trace",
1967        "event_engine_utils",
1968        "init_internally",
1969        "iomgr_port",
1970        "posix_event_engine_base_hdrs",
1971        "posix_event_engine_closure",
1972        "posix_event_engine_endpoint",
1973        "posix_event_engine_event_poller",
1974        "posix_event_engine_listener",
1975        "posix_event_engine_poller_posix_default",
1976        "posix_event_engine_tcp_socket_utils",
1977        "posix_event_engine_timer",
1978        "posix_event_engine_timer_manager",
1979        "useful",
1980        "//:event_engine_base_hdrs",
1981        "//:gpr",
1982        "//:grpc_trace",
1983    ],
1984)
1985
1986grpc_cc_library(
1987    name = "windows_event_engine",
1988    srcs = ["lib/event_engine/windows/windows_engine.cc"],
1989    hdrs = ["lib/event_engine/windows/windows_engine.h"],
1990    external_deps = [
1991        "absl/status",
1992        "absl/status:statusor",
1993        "absl/strings",
1994    ],
1995    deps = [
1996        "channel_args_endpoint_config",
1997        "common_event_engine_closures",
1998        "error",
1999        "event_engine_common",
2000        "event_engine_tcp_socket_utils",
2001        "event_engine_thread_pool",
2002        "event_engine_trace",
2003        "event_engine_utils",
2004        "init_internally",
2005        "posix_event_engine_timer_manager",
2006        "time",
2007        "windows_endpoint",
2008        "windows_event_engine_listener",
2009        "windows_iocp",
2010        "//:event_engine_base_hdrs",
2011        "//:gpr",
2012    ],
2013)
2014
2015grpc_cc_library(
2016    name = "windows_iocp",
2017    srcs = [
2018        "lib/event_engine/windows/iocp.cc",
2019        "lib/event_engine/windows/win_socket.cc",
2020    ],
2021    hdrs = [
2022        "lib/event_engine/windows/iocp.h",
2023        "lib/event_engine/windows/win_socket.h",
2024    ],
2025    external_deps = [
2026        "absl/base:core_headers",
2027        "absl/functional:any_invocable",
2028        "absl/status",
2029        "absl/strings:str_format",
2030    ],
2031    deps = [
2032        "error",
2033        "event_engine_poller",
2034        "event_engine_tcp_socket_utils",
2035        "event_engine_thread_pool",
2036        "event_engine_time_util",
2037        "event_engine_trace",
2038        "//:debug_location",
2039        "//:event_engine_base_hdrs",
2040        "//:gpr",
2041        "//:gpr_platform",
2042    ],
2043)
2044
2045grpc_cc_library(
2046    name = "windows_endpoint",
2047    srcs = [
2048        "lib/event_engine/windows/windows_endpoint.cc",
2049    ],
2050    hdrs = [
2051        "lib/event_engine/windows/windows_endpoint.h",
2052    ],
2053    external_deps = [
2054        "absl/cleanup",
2055        "absl/functional:any_invocable",
2056        "absl/status",
2057        "absl/strings:str_format",
2058    ],
2059    deps = [
2060        "error",
2061        "event_engine_tcp_socket_utils",
2062        "event_engine_thread_pool",
2063        "event_engine_trace",
2064        "status_helper",
2065        "windows_iocp",
2066        "//:debug_location",
2067        "//:event_engine_base_hdrs",
2068        "//:gpr",
2069        "//:gpr_platform",
2070    ],
2071)
2072
2073grpc_cc_library(
2074    name = "windows_event_engine_listener",
2075    srcs = [
2076        "lib/event_engine/windows/windows_listener.cc",
2077    ],
2078    hdrs = [
2079        "lib/event_engine/windows/windows_listener.h",
2080    ],
2081    external_deps = [
2082        "absl/base:core_headers",
2083        "absl/status",
2084        "absl/status:statusor",
2085        "absl/strings:str_format",
2086    ],
2087    deps = [
2088        "common_event_engine_closures",
2089        "error",
2090        "event_engine_tcp_socket_utils",
2091        "event_engine_thread_pool",
2092        "event_engine_trace",
2093        "windows_endpoint",
2094        "windows_iocp",
2095        "//:event_engine_base_hdrs",
2096        "//:gpr",
2097        "//:gpr_platform",
2098    ],
2099)
2100
2101grpc_cc_library(
2102    name = "cf_event_engine",
2103    srcs = [
2104        "lib/event_engine/cf_engine/cf_engine.cc",
2105        "lib/event_engine/cf_engine/cfstream_endpoint.cc",
2106    ],
2107    hdrs = [
2108        "lib/event_engine/cf_engine/cf_engine.h",
2109        "lib/event_engine/cf_engine/cfstream_endpoint.h",
2110        "lib/event_engine/cf_engine/cftype_unique_ref.h",
2111    ],
2112    external_deps = ["absl/strings:str_format"],
2113    deps = [
2114        "event_engine_common",
2115        "event_engine_tcp_socket_utils",
2116        "event_engine_thread_pool",
2117        "event_engine_trace",
2118        "event_engine_utils",
2119        "init_internally",
2120        "posix_event_engine_closure",
2121        "posix_event_engine_event_poller",
2122        "posix_event_engine_lockfree_event",
2123        "posix_event_engine_timer_manager",
2124        "ref_counted",
2125        "strerror",
2126        "//:event_engine_base_hdrs",
2127        "//:gpr",
2128        "//:ref_counted_ptr",
2129        "//:sockaddr_utils",
2130    ],
2131)
2132
2133grpc_cc_library(
2134    name = "event_engine_tcp_socket_utils",
2135    srcs = [
2136        "lib/event_engine/tcp_socket_utils.cc",
2137    ],
2138    hdrs = [
2139        "lib/event_engine/tcp_socket_utils.h",
2140    ],
2141    external_deps = [
2142        "absl/status",
2143        "absl/status:statusor",
2144        "absl/strings",
2145        "absl/strings:str_format",
2146        "absl/types:optional",
2147    ],
2148    deps = [
2149        "iomgr_port",
2150        "resolved_address",
2151        "status_helper",
2152        "//:event_engine_base_hdrs",
2153        "//:gpr",
2154        "//:gpr_platform",
2155        "//:parse_address",
2156        "//:uri_parser",
2157    ],
2158)
2159
2160grpc_cc_library(
2161    name = "event_engine_trace",
2162    srcs = [
2163        "lib/event_engine/trace.cc",
2164    ],
2165    hdrs = [
2166        "lib/event_engine/trace.h",
2167    ],
2168    deps = [
2169        "//:gpr",
2170        "//:gpr_platform",
2171        "//:grpc_trace",
2172    ],
2173)
2174
2175grpc_cc_library(
2176    name = "event_engine_shim",
2177    srcs = [
2178        "lib/event_engine/shim.cc",
2179    ],
2180    hdrs = [
2181        "lib/event_engine/shim.h",
2182    ],
2183    deps = [
2184        "experiments",
2185        "iomgr_port",
2186        "//:gpr_platform",
2187    ],
2188)
2189
2190# NOTE: this target gets replaced inside Google's build system to be one that
2191# integrates with other internal systems better. Please do not rename or fold
2192# this into other targets.
2193grpc_cc_library(
2194    name = "default_event_engine_factory",
2195    srcs = ["lib/event_engine/default_event_engine_factory.cc"],
2196    hdrs = ["lib/event_engine/default_event_engine_factory.h"],
2197    external_deps = ["absl/memory"],
2198    select_deps = [{
2199        "//:windows": ["windows_event_engine"],
2200        "//:windows_msvc": ["windows_event_engine"],
2201        "//:windows_other": ["windows_event_engine"],
2202        "//:mac": [
2203            "posix_event_engine",
2204            "cf_event_engine",
2205        ],
2206        "//:mac_x86_64": [
2207            "posix_event_engine",
2208            "cf_event_engine",
2209        ],
2210        "//:mac_arm64": [
2211            "posix_event_engine",
2212            "cf_event_engine",
2213        ],
2214        "//:ios": ["cf_event_engine"],
2215        "//:tvos": ["cf_event_engine"],
2216        "//:watchos": ["cf_event_engine"],
2217        "//conditions:default": ["posix_event_engine"],
2218    }],
2219    deps = [
2220        "//:event_engine_base_hdrs",
2221        "//:gpr_platform",
2222    ],
2223)
2224
2225grpc_cc_library(
2226    name = "channel_args_endpoint_config",
2227    srcs = [
2228        "//src/core:lib/event_engine/channel_args_endpoint_config.cc",
2229    ],
2230    hdrs = [
2231        "//src/core:lib/event_engine/channel_args_endpoint_config.h",
2232    ],
2233    external_deps = [
2234        "absl/strings",
2235        "absl/types:optional",
2236    ],
2237    visibility = ["@grpc:alt_grpc_base_legacy"],
2238    deps = [
2239        "channel_args",
2240        "//:event_engine_base_hdrs",
2241        "//:gpr_platform",
2242    ],
2243)
2244
2245grpc_cc_library(
2246    name = "thready_event_engine",
2247    srcs = ["lib/event_engine/thready_event_engine/thready_event_engine.cc"],
2248    hdrs = ["lib/event_engine/thready_event_engine/thready_event_engine.h"],
2249    external_deps = [
2250        "absl/functional:any_invocable",
2251        "absl/status",
2252        "absl/status:statusor",
2253        "absl/strings",
2254    ],
2255    deps = [
2256        "//:event_engine_base_hdrs",
2257        "//:gpr",
2258    ],
2259)
2260
2261grpc_cc_library(
2262    name = "default_event_engine",
2263    srcs = [
2264        "lib/event_engine/default_event_engine.cc",
2265    ],
2266    hdrs = [
2267        "lib/event_engine/default_event_engine.h",
2268    ],
2269    external_deps = ["absl/functional:any_invocable"],
2270    deps = [
2271        "channel_args",
2272        "context",
2273        "default_event_engine_factory",
2274        "event_engine_trace",
2275        "no_destruct",
2276        "thready_event_engine",
2277        "//:config",
2278        "//:debug_location",
2279        "//:event_engine_base_hdrs",
2280        "//:gpr",
2281        "//:grpc_trace",
2282    ],
2283)
2284
2285grpc_cc_library(
2286    name = "channel_args_preconditioning",
2287    srcs = [
2288        "lib/channel/channel_args_preconditioning.cc",
2289    ],
2290    hdrs = [
2291        "lib/channel/channel_args_preconditioning.h",
2292    ],
2293    deps = [
2294        "channel_args",
2295        "//:event_engine_base_hdrs",
2296        "//:gpr_platform",
2297    ],
2298)
2299
2300grpc_cc_library(
2301    name = "pid_controller",
2302    srcs = [
2303        "lib/transport/pid_controller.cc",
2304    ],
2305    hdrs = [
2306        "lib/transport/pid_controller.h",
2307    ],
2308    deps = [
2309        "useful",
2310        "//:gpr_platform",
2311    ],
2312)
2313
2314grpc_cc_library(
2315    name = "bdp_estimator",
2316    srcs = [
2317        "lib/transport/bdp_estimator.cc",
2318    ],
2319    hdrs = ["lib/transport/bdp_estimator.h"],
2320    external_deps = ["absl/strings"],
2321    deps = [
2322        "time",
2323        "//:gpr",
2324        "//:grpc_trace",
2325    ],
2326)
2327
2328grpc_cc_library(
2329    name = "percent_encoding",
2330    srcs = [
2331        "lib/slice/percent_encoding.cc",
2332    ],
2333    hdrs = [
2334        "lib/slice/percent_encoding.h",
2335    ],
2336    deps = [
2337        "bitset",
2338        "slice",
2339        "//:gpr",
2340    ],
2341)
2342
2343grpc_cc_library(
2344    name = "socket_mutator",
2345    srcs = [
2346        "lib/iomgr/socket_mutator.cc",
2347    ],
2348    hdrs = [
2349        "lib/iomgr/socket_mutator.h",
2350    ],
2351    visibility = ["@grpc:alt_grpc_base_legacy"],
2352    deps = [
2353        "channel_args",
2354        "useful",
2355        "//:event_engine_base_hdrs",
2356        "//:gpr",
2357    ],
2358)
2359
2360grpc_cc_library(
2361    name = "pollset_set",
2362    srcs = [
2363        "lib/iomgr/pollset_set.cc",
2364    ],
2365    hdrs = [
2366        "lib/iomgr/pollset_set.h",
2367    ],
2368    deps = [
2369        "iomgr_fwd",
2370        "//:gpr",
2371    ],
2372)
2373
2374grpc_cc_library(
2375    name = "histogram_view",
2376    srcs = [
2377        "lib/debug/histogram_view.cc",
2378    ],
2379    hdrs = [
2380        "lib/debug/histogram_view.h",
2381    ],
2382    deps = ["//:gpr"],
2383)
2384
2385grpc_cc_library(
2386    name = "stats_data",
2387    srcs = [
2388        "lib/debug/stats_data.cc",
2389    ],
2390    hdrs = [
2391        "lib/debug/stats_data.h",
2392    ],
2393    external_deps = ["absl/strings"],
2394    deps = [
2395        "histogram_view",
2396        "per_cpu",
2397        "//:gpr_platform",
2398    ],
2399)
2400
2401grpc_cc_library(
2402    name = "per_cpu",
2403    srcs = [
2404        "lib/gprpp/per_cpu.cc",
2405    ],
2406    hdrs = [
2407        "lib/gprpp/per_cpu.h",
2408    ],
2409    deps = [
2410        "useful",
2411        "//:exec_ctx",
2412        "//:gpr",
2413    ],
2414)
2415
2416grpc_cc_library(
2417    name = "event_log",
2418    srcs = [
2419        "lib/debug/event_log.cc",
2420    ],
2421    hdrs = [
2422        "lib/debug/event_log.h",
2423    ],
2424    external_deps = [
2425        "absl/base:core_headers",
2426        "absl/strings",
2427        "absl/types:span",
2428    ],
2429    deps = [
2430        "per_cpu",
2431        "//:gpr",
2432    ],
2433)
2434
2435grpc_cc_library(
2436    name = "load_file",
2437    srcs = [
2438        "lib/gprpp/load_file.cc",
2439    ],
2440    hdrs = [
2441        "lib/gprpp/load_file.h",
2442    ],
2443    external_deps = [
2444        "absl/cleanup",
2445        "absl/status",
2446        "absl/status:statusor",
2447        "absl/strings",
2448    ],
2449    language = "c++",
2450    deps = [
2451        "slice",
2452        "//:gpr",
2453    ],
2454)
2455
2456grpc_cc_library(
2457    name = "http2_errors",
2458    hdrs = [
2459        "lib/transport/http2_errors.h",
2460    ],
2461)
2462
2463grpc_cc_library(
2464    name = "channel_stack_type",
2465    srcs = [
2466        "lib/surface/channel_stack_type.cc",
2467    ],
2468    hdrs = [
2469        "lib/surface/channel_stack_type.h",
2470    ],
2471    language = "c++",
2472    deps = ["//:gpr_platform"],
2473)
2474
2475grpc_cc_library(
2476    name = "channel_init",
2477    srcs = [
2478        "lib/surface/channel_init.cc",
2479    ],
2480    hdrs = [
2481        "lib/surface/channel_init.h",
2482    ],
2483    language = "c++",
2484    deps = [
2485        "channel_stack_type",
2486        "//:channel_stack_builder",
2487        "//:gpr_platform",
2488    ],
2489)
2490
2491grpc_cc_library(
2492    name = "single_set_ptr",
2493    hdrs = [
2494        "lib/gprpp/single_set_ptr.h",
2495    ],
2496    language = "c++",
2497    deps = ["//:gpr"],
2498)
2499
2500grpc_cc_library(
2501    name = "grpc_service_config",
2502    hdrs = [
2503        "lib/service_config/service_config.h",
2504        "lib/service_config/service_config_call_data.h",
2505    ],
2506    external_deps = ["absl/strings"],
2507    language = "c++",
2508    deps = [
2509        "arena",
2510        "chunked_vector",
2511        "ref_counted",
2512        "service_config_parser",
2513        "slice_refcount",
2514        "unique_type_name",
2515        "useful",
2516        "//:gpr_platform",
2517        "//:legacy_context",
2518        "//:ref_counted_ptr",
2519    ],
2520)
2521
2522grpc_cc_library(
2523    name = "service_config_parser",
2524    srcs = [
2525        "lib/service_config/service_config_parser.cc",
2526    ],
2527    hdrs = [
2528        "lib/service_config/service_config_parser.h",
2529    ],
2530    external_deps = ["absl/strings"],
2531    language = "c++",
2532    deps = [
2533        "channel_args",
2534        "json",
2535        "validation_errors",
2536        "//:gpr",
2537    ],
2538)
2539
2540grpc_cc_library(
2541    name = "notification",
2542    hdrs = [
2543        "lib/gprpp/notification.h",
2544    ],
2545    external_deps = ["absl/time"],
2546    deps = ["//:gpr"],
2547)
2548
2549grpc_cc_library(
2550    name = "channel_args",
2551    srcs = [
2552        "lib/channel/channel_args.cc",
2553    ],
2554    hdrs = [
2555        "lib/channel/channel_args.h",
2556    ],
2557    external_deps = [
2558        "absl/meta:type_traits",
2559        "absl/strings",
2560        "absl/strings:str_format",
2561        "absl/types:optional",
2562        "absl/types:variant",
2563    ],
2564    language = "c++",
2565    visibility = [
2566        "@grpc:alt_grpc_base_legacy",
2567    ],
2568    deps = [
2569        "avl",
2570        "channel_stack_type",
2571        "dual_ref_counted",
2572        "match",
2573        "ref_counted",
2574        "time",
2575        "useful",
2576        "//:debug_location",
2577        "//:event_engine_base_hdrs",
2578        "//:gpr",
2579        "//:ref_counted_ptr",
2580    ],
2581)
2582
2583grpc_cc_library(
2584    name = "resolved_address",
2585    hdrs = ["lib/iomgr/resolved_address.h"],
2586    language = "c++",
2587    deps = [
2588        "iomgr_port",
2589        "//:gpr_platform",
2590    ],
2591)
2592
2593grpc_cc_library(
2594    name = "lb_policy",
2595    srcs = ["lib/load_balancing/lb_policy.cc"],
2596    hdrs = ["lib/load_balancing/lb_policy.h"],
2597    external_deps = [
2598        "absl/base:core_headers",
2599        "absl/status",
2600        "absl/status:statusor",
2601        "absl/strings",
2602        "absl/types:optional",
2603        "absl/types:variant",
2604    ],
2605    deps = [
2606        "channel_args",
2607        "closure",
2608        "dual_ref_counted",
2609        "error",
2610        "grpc_backend_metric_data",
2611        "iomgr_fwd",
2612        "pollset_set",
2613        "ref_counted",
2614        "subchannel_interface",
2615        "//:debug_location",
2616        "//:event_engine_base_hdrs",
2617        "//:exec_ctx",
2618        "//:gpr",
2619        "//:gpr_platform",
2620        "//:grpc_trace",
2621        "//:orphanable",
2622        "//:ref_counted_ptr",
2623        "//:server_address",
2624        "//:work_serializer",
2625    ],
2626)
2627
2628grpc_cc_library(
2629    name = "lb_policy_factory",
2630    hdrs = ["lib/load_balancing/lb_policy_factory.h"],
2631    external_deps = [
2632        "absl/status:statusor",
2633        "absl/strings",
2634    ],
2635    deps = [
2636        "json",
2637        "lb_policy",
2638        "//:gpr_platform",
2639        "//:orphanable",
2640        "//:ref_counted_ptr",
2641    ],
2642)
2643
2644grpc_cc_library(
2645    name = "lb_policy_registry",
2646    srcs = ["lib/load_balancing/lb_policy_registry.cc"],
2647    hdrs = ["lib/load_balancing/lb_policy_registry.h"],
2648    external_deps = [
2649        "absl/status",
2650        "absl/status:statusor",
2651        "absl/strings",
2652        "absl/strings:str_format",
2653    ],
2654    deps = [
2655        "json",
2656        "lb_policy",
2657        "lb_policy_factory",
2658        "//:gpr",
2659        "//:orphanable",
2660        "//:ref_counted_ptr",
2661    ],
2662)
2663
2664grpc_cc_library(
2665    name = "subchannel_interface",
2666    hdrs = ["lib/load_balancing/subchannel_interface.h"],
2667    external_deps = ["absl/status"],
2668    deps = [
2669        "dual_ref_counted",
2670        "iomgr_fwd",
2671        "//:event_engine_base_hdrs",
2672        "//:gpr_platform",
2673        "//:ref_counted_ptr",
2674    ],
2675)
2676
2677grpc_cc_library(
2678    name = "proxy_mapper",
2679    hdrs = ["lib/handshaker/proxy_mapper.h"],
2680    external_deps = [
2681        "absl/strings",
2682        "absl/types:optional",
2683    ],
2684    deps = [
2685        "channel_args",
2686        "resolved_address",
2687        "//:gpr_platform",
2688    ],
2689)
2690
2691grpc_cc_library(
2692    name = "proxy_mapper_registry",
2693    srcs = ["lib/handshaker/proxy_mapper_registry.cc"],
2694    hdrs = ["lib/handshaker/proxy_mapper_registry.h"],
2695    external_deps = [
2696        "absl/strings",
2697        "absl/types:optional",
2698    ],
2699    deps = [
2700        "channel_args",
2701        "proxy_mapper",
2702        "resolved_address",
2703        "//:gpr_platform",
2704    ],
2705)
2706
2707grpc_cc_library(
2708    name = "grpc_server_config_selector",
2709    hdrs = [
2710        "ext/filters/server_config_selector/server_config_selector.h",
2711    ],
2712    external_deps = [
2713        "absl/status:statusor",
2714        "absl/strings",
2715    ],
2716    language = "c++",
2717    deps = [
2718        "dual_ref_counted",
2719        "grpc_service_config",
2720        "ref_counted",
2721        "service_config_parser",
2722        "useful",
2723        "//:gpr_platform",
2724        "//:grpc_base",
2725        "//:ref_counted_ptr",
2726    ],
2727)
2728
2729grpc_cc_library(
2730    name = "grpc_server_config_selector_filter",
2731    srcs = [
2732        "ext/filters/server_config_selector/server_config_selector_filter.cc",
2733    ],
2734    hdrs = [
2735        "ext/filters/server_config_selector/server_config_selector_filter.h",
2736    ],
2737    external_deps = [
2738        "absl/base:core_headers",
2739        "absl/status",
2740        "absl/status:statusor",
2741        "absl/types:optional",
2742    ],
2743    language = "c++",
2744    deps = [
2745        "arena",
2746        "arena_promise",
2747        "channel_args",
2748        "channel_fwd",
2749        "context",
2750        "grpc_server_config_selector",
2751        "grpc_service_config",
2752        "status_helper",
2753        "//:gpr",
2754        "//:grpc_base",
2755        "//:legacy_context",
2756        "//:promise",
2757        "//:ref_counted_ptr",
2758    ],
2759)
2760
2761grpc_cc_library(
2762    name = "sorted_pack",
2763    hdrs = [
2764        "lib/gprpp/sorted_pack.h",
2765    ],
2766    language = "c++",
2767    deps = ["//:gpr_platform"],
2768)
2769
2770grpc_cc_library(
2771    name = "certificate_provider_factory",
2772    hdrs = [
2773        "lib/security/certificate_provider/certificate_provider_factory.h",
2774    ],
2775    external_deps = ["absl/strings"],
2776    deps = [
2777        "json",
2778        "json_args",
2779        "ref_counted",
2780        "validation_errors",
2781        "//:alts_util",
2782        "//:gpr",
2783        "//:ref_counted_ptr",
2784    ],
2785)
2786
2787grpc_cc_library(
2788    name = "certificate_provider_registry",
2789    srcs = [
2790        "lib/security/certificate_provider/certificate_provider_registry.cc",
2791    ],
2792    hdrs = [
2793        "lib/security/certificate_provider/certificate_provider_registry.h",
2794    ],
2795    external_deps = ["absl/strings"],
2796    deps = [
2797        "certificate_provider_factory",
2798        "//:gpr",
2799    ],
2800)
2801
2802grpc_cc_library(
2803    name = "grpc_audit_logging",
2804    srcs = [
2805        "lib/security/authorization/audit_logging.cc",
2806        "lib/security/authorization/stdout_logger.cc",
2807    ],
2808    hdrs = [
2809        "lib/security/authorization/audit_logging.h",
2810        "lib/security/authorization/stdout_logger.h",
2811    ],
2812    external_deps = [
2813        "absl/base:core_headers",
2814        "absl/status",
2815        "absl/status:statusor",
2816        "absl/strings",
2817        "absl/strings:str_format",
2818        "absl/time",
2819    ],
2820    deps = [
2821        "//:gpr",
2822        "//:grpc_base",
2823    ],
2824)
2825
2826grpc_cc_library(
2827    name = "grpc_authorization_base",
2828    srcs = [
2829        "lib/security/authorization/authorization_policy_provider_vtable.cc",
2830        "lib/security/authorization/evaluate_args.cc",
2831        "lib/security/authorization/grpc_server_authz_filter.cc",
2832    ],
2833    hdrs = [
2834        "lib/security/authorization/authorization_engine.h",
2835        "lib/security/authorization/authorization_policy_provider.h",
2836        "lib/security/authorization/evaluate_args.h",
2837        "lib/security/authorization/grpc_server_authz_filter.h",
2838    ],
2839    external_deps = [
2840        "absl/status",
2841        "absl/status:statusor",
2842        "absl/strings",
2843        "absl/types:optional",
2844    ],
2845    language = "c++",
2846    deps = [
2847        "arena_promise",
2848        "channel_args",
2849        "channel_fwd",
2850        "dual_ref_counted",
2851        "ref_counted",
2852        "resolved_address",
2853        "slice",
2854        "useful",
2855        "//:gpr",
2856        "//:grpc_base",
2857        "//:grpc_credentials_util",
2858        "//:grpc_security_base",
2859        "//:grpc_trace",
2860        "//:parse_address",
2861        "//:promise",
2862        "//:ref_counted_ptr",
2863        "//:uri_parser",
2864    ],
2865)
2866
2867grpc_cc_library(
2868    name = "grpc_fake_credentials",
2869    srcs = [
2870        "lib/security/credentials/fake/fake_credentials.cc",
2871        "lib/security/security_connector/fake/fake_security_connector.cc",
2872    ],
2873    hdrs = [
2874        "ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
2875        "lib/security/credentials/fake/fake_credentials.h",
2876        "lib/security/security_connector/fake/fake_security_connector.h",
2877    ],
2878    external_deps = [
2879        "absl/status",
2880        "absl/status:statusor",
2881        "absl/strings",
2882        "absl/strings:str_format",
2883        "absl/types:optional",
2884    ],
2885    language = "c++",
2886    deps = [
2887        "arena_promise",
2888        "channel_args",
2889        "closure",
2890        "error",
2891        "iomgr_fwd",
2892        "slice",
2893        "unique_type_name",
2894        "useful",
2895        "//:debug_location",
2896        "//:exec_ctx",
2897        "//:gpr",
2898        "//:grpc_base",
2899        "//:grpc_security_base",
2900        "//:handshaker",
2901        "//:promise",
2902        "//:ref_counted_ptr",
2903        "//:tsi_base",
2904        "//:tsi_fake_credentials",
2905    ],
2906)
2907
2908grpc_cc_library(
2909    name = "grpc_insecure_credentials",
2910    srcs = [
2911        "lib/security/credentials/insecure/insecure_credentials.cc",
2912        "lib/security/security_connector/insecure/insecure_security_connector.cc",
2913    ],
2914    hdrs = [
2915        "lib/security/credentials/insecure/insecure_credentials.h",
2916        "lib/security/security_connector/insecure/insecure_security_connector.h",
2917    ],
2918    external_deps = [
2919        "absl/status",
2920        "absl/strings",
2921    ],
2922    language = "c++",
2923    deps = [
2924        "arena_promise",
2925        "channel_args",
2926        "closure",
2927        "error",
2928        "iomgr_fwd",
2929        "tsi_local_credentials",
2930        "unique_type_name",
2931        "//:debug_location",
2932        "//:exec_ctx",
2933        "//:gpr",
2934        "//:grpc_base",
2935        "//:grpc_security_base",
2936        "//:handshaker",
2937        "//:promise",
2938        "//:ref_counted_ptr",
2939        "//:tsi_base",
2940    ],
2941)
2942
2943grpc_cc_library(
2944    name = "tsi_local_credentials",
2945    srcs = [
2946        "tsi/local_transport_security.cc",
2947    ],
2948    hdrs = [
2949        "tsi/local_transport_security.h",
2950    ],
2951    language = "c++",
2952    deps = [
2953        "//:event_engine_base_hdrs",
2954        "//:exec_ctx",
2955        "//:gpr",
2956        "//:tsi_base",
2957    ],
2958)
2959
2960grpc_cc_library(
2961    name = "grpc_local_credentials",
2962    srcs = [
2963        "lib/security/credentials/local/local_credentials.cc",
2964        "lib/security/security_connector/local/local_security_connector.cc",
2965    ],
2966    hdrs = [
2967        "lib/security/credentials/local/local_credentials.h",
2968        "lib/security/security_connector/local/local_security_connector.h",
2969    ],
2970    external_deps = [
2971        "absl/status",
2972        "absl/status:statusor",
2973        "absl/strings",
2974        "absl/types:optional",
2975    ],
2976    language = "c++",
2977    deps = [
2978        "arena_promise",
2979        "channel_args",
2980        "closure",
2981        "error",
2982        "grpc_sockaddr",
2983        "iomgr_fwd",
2984        "resolved_address",
2985        "tsi_local_credentials",
2986        "unique_type_name",
2987        "useful",
2988        "//:debug_location",
2989        "//:exec_ctx",
2990        "//:gpr",
2991        "//:grpc_base",
2992        "//:grpc_client_channel",
2993        "//:grpc_security_base",
2994        "//:handshaker",
2995        "//:parse_address",
2996        "//:promise",
2997        "//:ref_counted_ptr",
2998        "//:sockaddr_utils",
2999        "//:tsi_base",
3000        "//:uri_parser",
3001    ],
3002)
3003
3004grpc_cc_library(
3005    name = "grpc_ssl_credentials",
3006    srcs = [
3007        "lib/security/credentials/ssl/ssl_credentials.cc",
3008        "lib/security/security_connector/ssl/ssl_security_connector.cc",
3009    ],
3010    hdrs = [
3011        "lib/security/credentials/ssl/ssl_credentials.h",
3012        "lib/security/security_connector/ssl/ssl_security_connector.h",
3013    ],
3014    external_deps = [
3015        "absl/status",
3016        "absl/strings",
3017        "absl/strings:str_format",
3018        "absl/types:optional",
3019    ],
3020    language = "c++",
3021    deps = [
3022        "arena_promise",
3023        "channel_args",
3024        "closure",
3025        "error",
3026        "iomgr_fwd",
3027        "unique_type_name",
3028        "useful",
3029        "//:debug_location",
3030        "//:exec_ctx",
3031        "//:gpr",
3032        "//:grpc_base",
3033        "//:grpc_security_base",
3034        "//:grpc_trace",
3035        "//:handshaker",
3036        "//:promise",
3037        "//:ref_counted_ptr",
3038        "//:tsi_base",
3039        "//:tsi_ssl_credentials",
3040        "//:tsi_ssl_session_cache",
3041    ],
3042)
3043
3044grpc_cc_library(
3045    name = "grpc_google_default_credentials",
3046    srcs = [
3047        "lib/security/credentials/google_default/credentials_generic.cc",
3048        "lib/security/credentials/google_default/google_default_credentials.cc",
3049    ],
3050    hdrs = [
3051        "ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
3052        "lib/security/credentials/google_default/google_default_credentials.h",
3053    ],
3054    external_deps = [
3055        "absl/status:statusor",
3056        "absl/strings",
3057        "absl/types:optional",
3058    ],
3059    language = "c++",
3060    tags = ["nofixdeps"],
3061    deps = [
3062        "channel_args",
3063        "closure",
3064        "env",
3065        "error",
3066        "grpc_external_account_credentials",
3067        "grpc_lb_xds_channel_args",
3068        "grpc_oauth2_credentials",
3069        "grpc_ssl_credentials",
3070        "iomgr_fwd",
3071        "json",
3072        "json_reader",
3073        "slice",
3074        "slice_refcount",
3075        "status_helper",
3076        "time",
3077        "unique_type_name",
3078        "useful",
3079        "//:alts_util",
3080        "//:exec_ctx",
3081        "//:gpr",
3082        "//:grpc_alts_credentials",
3083        "//:grpc_base",
3084        "//:grpc_jwt_credentials",
3085        "//:grpc_public_hdrs",
3086        "//:grpc_security_base",
3087        "//:grpc_trace",
3088        "//:httpcli",
3089        "//:orphanable",
3090        "//:ref_counted_ptr",
3091        "//:uri_parser",
3092    ],
3093)
3094
3095grpc_cc_library(
3096    name = "strerror",
3097    srcs = [
3098        "lib/gprpp/strerror.cc",
3099    ],
3100    hdrs = [
3101        "lib/gprpp/strerror.h",
3102    ],
3103    external_deps = ["absl/strings:str_format"],
3104    deps = ["//:gpr_platform"],
3105)
3106
3107grpc_cc_library(
3108    name = "grpc_tls_credentials",
3109    srcs = [
3110        "lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
3111        "lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
3112        "lib/security/credentials/tls/grpc_tls_certificate_verifier.cc",
3113        "lib/security/credentials/tls/grpc_tls_credentials_options.cc",
3114        "lib/security/credentials/tls/tls_credentials.cc",
3115        "lib/security/security_connector/tls/tls_security_connector.cc",
3116    ],
3117    hdrs = [
3118        "lib/security/credentials/tls/grpc_tls_certificate_distributor.h",
3119        "lib/security/credentials/tls/grpc_tls_certificate_provider.h",
3120        "lib/security/credentials/tls/grpc_tls_certificate_verifier.h",
3121        "lib/security/credentials/tls/grpc_tls_credentials_options.h",
3122        "lib/security/credentials/tls/tls_credentials.h",
3123        "lib/security/security_connector/tls/tls_security_connector.h",
3124    ],
3125    external_deps = [
3126        "absl/base:core_headers",
3127        "absl/container:inlined_vector",
3128        "absl/functional:bind_front",
3129        "absl/status",
3130        "absl/status:statusor",
3131        "absl/strings",
3132        "absl/types:optional",
3133        "libcrypto",
3134        "libssl",
3135    ],
3136    language = "c++",
3137    deps = [
3138        "arena_promise",
3139        "channel_args",
3140        "closure",
3141        "error",
3142        "iomgr_fwd",
3143        "ref_counted",
3144        "slice",
3145        "slice_refcount",
3146        "status_helper",
3147        "unique_type_name",
3148        "useful",
3149        "//:debug_location",
3150        "//:exec_ctx",
3151        "//:gpr",
3152        "//:grpc_base",
3153        "//:grpc_credentials_util",
3154        "//:grpc_public_hdrs",
3155        "//:grpc_security_base",
3156        "//:grpc_trace",
3157        "//:handshaker",
3158        "//:promise",
3159        "//:ref_counted_ptr",
3160        "//:tsi_base",
3161        "//:tsi_ssl_credentials",
3162        "//:tsi_ssl_session_cache",
3163    ],
3164)
3165
3166grpc_cc_library(
3167    name = "grpc_iam_credentials",
3168    srcs = [
3169        "lib/security/credentials/iam/iam_credentials.cc",
3170    ],
3171    hdrs = [
3172        "lib/security/credentials/iam/iam_credentials.h",
3173    ],
3174    external_deps = [
3175        "absl/status:statusor",
3176        "absl/strings",
3177        "absl/strings:str_format",
3178        "absl/types:optional",
3179    ],
3180    language = "c++",
3181    deps = [
3182        "arena_promise",
3183        "slice",
3184        "unique_type_name",
3185        "useful",
3186        "//:exec_ctx",
3187        "//:gpr",
3188        "//:grpc_base",
3189        "//:grpc_security_base",
3190        "//:grpc_trace",
3191        "//:promise",
3192        "//:ref_counted_ptr",
3193    ],
3194)
3195
3196grpc_cc_library(
3197    name = "grpc_oauth2_credentials",
3198    srcs = [
3199        "lib/security/credentials/oauth2/oauth2_credentials.cc",
3200    ],
3201    hdrs = [
3202        "lib/security/credentials/oauth2/oauth2_credentials.h",
3203    ],
3204    external_deps = [
3205        "absl/status",
3206        "absl/status:statusor",
3207        "absl/strings",
3208        "absl/strings:str_format",
3209        "absl/types:optional",
3210    ],
3211    language = "c++",
3212    deps = [
3213        "activity",
3214        "arena_promise",
3215        "closure",
3216        "context",
3217        "error",
3218        "httpcli_ssl_credentials",
3219        "json",
3220        "json_reader",
3221        "poll",
3222        "pollset_set",
3223        "ref_counted",
3224        "slice",
3225        "slice_refcount",
3226        "status_helper",
3227        "time",
3228        "unique_type_name",
3229        "useful",
3230        "//:gpr",
3231        "//:grpc_base",
3232        "//:grpc_credentials_util",
3233        "//:grpc_security_base",
3234        "//:grpc_trace",
3235        "//:httpcli",
3236        "//:orphanable",
3237        "//:promise",
3238        "//:ref_counted_ptr",
3239        "//:uri_parser",
3240    ],
3241)
3242
3243grpc_cc_library(
3244    name = "grpc_external_account_credentials",
3245    srcs = [
3246        "lib/security/credentials/external/aws_external_account_credentials.cc",
3247        "lib/security/credentials/external/aws_request_signer.cc",
3248        "lib/security/credentials/external/external_account_credentials.cc",
3249        "lib/security/credentials/external/file_external_account_credentials.cc",
3250        "lib/security/credentials/external/url_external_account_credentials.cc",
3251    ],
3252    hdrs = [
3253        "lib/security/credentials/external/aws_external_account_credentials.h",
3254        "lib/security/credentials/external/aws_request_signer.h",
3255        "lib/security/credentials/external/external_account_credentials.h",
3256        "lib/security/credentials/external/file_external_account_credentials.h",
3257        "lib/security/credentials/external/url_external_account_credentials.h",
3258    ],
3259    external_deps = [
3260        "absl/status",
3261        "absl/status:statusor",
3262        "absl/strings",
3263        "absl/strings:str_format",
3264        "absl/time",
3265        "absl/types:optional",
3266        "libcrypto",
3267    ],
3268    language = "c++",
3269    deps = [
3270        "closure",
3271        "env",
3272        "error",
3273        "grpc_oauth2_credentials",
3274        "httpcli_ssl_credentials",
3275        "json",
3276        "json_reader",
3277        "json_writer",
3278        "slice",
3279        "slice_refcount",
3280        "status_helper",
3281        "time",
3282        "//:gpr",
3283        "//:grpc_base",
3284        "//:grpc_credentials_util",
3285        "//:grpc_security_base",
3286        "//:httpcli",
3287        "//:orphanable",
3288        "//:ref_counted_ptr",
3289        "//:uri_parser",
3290    ],
3291)
3292
3293grpc_cc_library(
3294    name = "httpcli_ssl_credentials",
3295    srcs = [
3296        "lib/http/httpcli_security_connector.cc",
3297    ],
3298    hdrs = [
3299        "lib/http/httpcli_ssl_credentials.h",
3300    ],
3301    external_deps = [
3302        "absl/status",
3303        "absl/strings",
3304        "absl/types:optional",
3305    ],
3306    language = "c++",
3307    deps = [
3308        "arena_promise",
3309        "channel_args",
3310        "closure",
3311        "error",
3312        "iomgr_fwd",
3313        "unique_type_name",
3314        "//:debug_location",
3315        "//:exec_ctx",
3316        "//:gpr",
3317        "//:grpc_base",
3318        "//:grpc_security_base",
3319        "//:handshaker",
3320        "//:promise",
3321        "//:ref_counted_ptr",
3322        "//:tsi_base",
3323        "//:tsi_ssl_credentials",
3324    ],
3325)
3326
3327grpc_cc_library(
3328    name = "tsi_ssl_types",
3329    hdrs = [
3330        "tsi/ssl_types.h",
3331    ],
3332    external_deps = ["libssl"],
3333    language = "c++",
3334    deps = ["//:gpr_platform"],
3335)
3336
3337# This target depends on RE2 and should not be linked into grpc by default for binary-size reasons.
3338grpc_cc_library(
3339    name = "grpc_matchers",
3340    srcs = [
3341        "lib/matchers/matchers.cc",
3342    ],
3343    hdrs = [
3344        "lib/matchers/matchers.h",
3345    ],
3346    external_deps = [
3347        "absl/status",
3348        "absl/status:statusor",
3349        "absl/strings",
3350        "absl/strings:str_format",
3351        "absl/types:optional",
3352        "re2",
3353    ],
3354    language = "c++",
3355    deps = ["//:gpr"],
3356)
3357
3358# This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons.
3359grpc_cc_library(
3360    name = "grpc_rbac_engine",
3361    srcs = [
3362        "lib/security/authorization/grpc_authorization_engine.cc",
3363        "lib/security/authorization/matchers.cc",
3364        "lib/security/authorization/rbac_policy.cc",
3365    ],
3366    hdrs = [
3367        "lib/security/authorization/grpc_authorization_engine.h",
3368        "lib/security/authorization/matchers.h",
3369        "lib/security/authorization/rbac_policy.h",
3370    ],
3371    external_deps = [
3372        "absl/status",
3373        "absl/status:statusor",
3374        "absl/strings",
3375        "absl/strings:str_format",
3376        "absl/types:optional",
3377    ],
3378    language = "c++",
3379    deps = [
3380        "grpc_audit_logging",
3381        "grpc_authorization_base",
3382        "grpc_matchers",
3383        "resolved_address",
3384        "//:gpr",
3385        "//:grpc_base",
3386        "//:parse_address",
3387        "//:sockaddr_utils",
3388    ],
3389)
3390
3391grpc_cc_library(
3392    name = "json",
3393    hdrs = [
3394        "lib/json/json.h",
3395    ],
3396    deps = ["//:gpr"],
3397)
3398
3399grpc_cc_library(
3400    name = "json_reader",
3401    srcs = [
3402        "lib/json/json_reader.cc",
3403    ],
3404    hdrs = [
3405        "lib/json/json_reader.h",
3406    ],
3407    external_deps = [
3408        "absl/base:core_headers",
3409        "absl/status",
3410        "absl/status:statusor",
3411        "absl/strings",
3412        "absl/strings:str_format",
3413        "absl/types:variant",
3414    ],
3415    visibility = ["@grpc:json_reader_legacy"],
3416    deps = [
3417        "json",
3418        "match",
3419        "//:gpr",
3420    ],
3421)
3422
3423grpc_cc_library(
3424    name = "json_writer",
3425    srcs = [
3426        "lib/json/json_writer.cc",
3427    ],
3428    hdrs = [
3429        "lib/json/json_writer.h",
3430    ],
3431    external_deps = ["absl/strings"],
3432    deps = [
3433        "json",
3434        "//:gpr",
3435    ],
3436)
3437
3438grpc_cc_library(
3439    name = "json_util",
3440    srcs = ["lib/json/json_util.cc"],
3441    hdrs = ["lib/json/json_util.h"],
3442    external_deps = ["absl/strings"],
3443    deps = [
3444        "error",
3445        "json",
3446        "json_args",
3447        "json_object_loader",
3448        "no_destruct",
3449        "time",
3450        "validation_errors",
3451        "//:gpr",
3452    ],
3453)
3454
3455grpc_cc_library(
3456    name = "json_args",
3457    hdrs = ["lib/json/json_args.h"],
3458    external_deps = ["absl/strings"],
3459    deps = ["//:gpr"],
3460)
3461
3462grpc_cc_library(
3463    name = "json_object_loader",
3464    srcs = ["lib/json/json_object_loader.cc"],
3465    hdrs = ["lib/json/json_object_loader.h"],
3466    external_deps = [
3467        "absl/meta:type_traits",
3468        "absl/status",
3469        "absl/status:statusor",
3470        "absl/strings",
3471        "absl/types:optional",
3472    ],
3473    deps = [
3474        "json",
3475        "json_args",
3476        "no_destruct",
3477        "time",
3478        "validation_errors",
3479        "//:gpr",
3480        "//:ref_counted_ptr",
3481    ],
3482)
3483
3484grpc_cc_library(
3485    name = "json_channel_args",
3486    hdrs = ["lib/json/json_channel_args.h"],
3487    external_deps = [
3488        "absl/strings",
3489        "absl/types:optional",
3490    ],
3491    deps = [
3492        "channel_args",
3493        "json_args",
3494        "//:gpr",
3495    ],
3496)
3497
3498grpc_cc_library(
3499    name = "idle_filter_state",
3500    srcs = [
3501        "ext/filters/channel_idle/idle_filter_state.cc",
3502    ],
3503    hdrs = [
3504        "ext/filters/channel_idle/idle_filter_state.h",
3505    ],
3506    language = "c++",
3507    deps = ["//:gpr_platform"],
3508)
3509
3510grpc_cc_library(
3511    name = "grpc_channel_idle_filter",
3512    srcs = [
3513        "ext/filters/channel_idle/channel_idle_filter.cc",
3514    ],
3515    hdrs = [
3516        "ext/filters/channel_idle/channel_idle_filter.h",
3517    ],
3518    external_deps = [
3519        "absl/status",
3520        "absl/status:statusor",
3521        "absl/types:optional",
3522    ],
3523    deps = [
3524        "activity",
3525        "arena_promise",
3526        "channel_args",
3527        "channel_fwd",
3528        "channel_init",
3529        "channel_stack_type",
3530        "closure",
3531        "error",
3532        "exec_ctx_wakeup_scheduler",
3533        "http2_errors",
3534        "idle_filter_state",
3535        "loop",
3536        "poll",
3537        "single_set_ptr",
3538        "sleep",
3539        "status_helper",
3540        "time",
3541        "try_seq",
3542        "//:channel_stack_builder",
3543        "//:config",
3544        "//:debug_location",
3545        "//:exec_ctx",
3546        "//:gpr",
3547        "//:grpc_base",
3548        "//:grpc_trace",
3549        "//:orphanable",
3550        "//:promise",
3551        "//:ref_counted_ptr",
3552    ],
3553)
3554
3555grpc_cc_library(
3556    name = "grpc_deadline_filter",
3557    srcs = [
3558        "ext/filters/deadline/deadline_filter.cc",
3559    ],
3560    hdrs = [
3561        "ext/filters/deadline/deadline_filter.h",
3562    ],
3563    external_deps = [
3564        "absl/status",
3565        "absl/types:optional",
3566    ],
3567    language = "c++",
3568    deps = [
3569        "arena",
3570        "arena_promise",
3571        "channel_args",
3572        "channel_fwd",
3573        "channel_init",
3574        "channel_stack_type",
3575        "closure",
3576        "context",
3577        "error",
3578        "status_helper",
3579        "time",
3580        "//:channel_stack_builder",
3581        "//:config",
3582        "//:debug_location",
3583        "//:exec_ctx",
3584        "//:gpr",
3585        "//:grpc_base",
3586        "//:grpc_public_hdrs",
3587        "//:iomgr_timer",
3588    ],
3589)
3590
3591grpc_cc_library(
3592    name = "grpc_client_authority_filter",
3593    srcs = [
3594        "ext/filters/http/client_authority_filter.cc",
3595    ],
3596    hdrs = [
3597        "ext/filters/http/client_authority_filter.h",
3598    ],
3599    external_deps = [
3600        "absl/status",
3601        "absl/status:statusor",
3602        "absl/strings",
3603        "absl/types:optional",
3604    ],
3605    language = "c++",
3606    deps = [
3607        "arena_promise",
3608        "channel_args",
3609        "channel_fwd",
3610        "channel_stack_type",
3611        "slice",
3612        "//:channel_stack_builder",
3613        "//:config",
3614        "//:gpr_platform",
3615        "//:grpc_base",
3616    ],
3617)
3618
3619grpc_cc_library(
3620    name = "grpc_message_size_filter",
3621    srcs = [
3622        "ext/filters/message_size/message_size_filter.cc",
3623    ],
3624    hdrs = [
3625        "ext/filters/message_size/message_size_filter.h",
3626    ],
3627    external_deps = [
3628        "absl/status:statusor",
3629        "absl/strings",
3630        "absl/strings:str_format",
3631        "absl/types:optional",
3632    ],
3633    language = "c++",
3634    deps = [
3635        "activity",
3636        "arena",
3637        "arena_promise",
3638        "channel_args",
3639        "channel_fwd",
3640        "channel_init",
3641        "channel_stack_type",
3642        "context",
3643        "grpc_service_config",
3644        "json",
3645        "json_args",
3646        "json_object_loader",
3647        "latch",
3648        "poll",
3649        "race",
3650        "service_config_parser",
3651        "slice",
3652        "slice_buffer",
3653        "validation_errors",
3654        "//:channel_stack_builder",
3655        "//:config",
3656        "//:gpr",
3657        "//:grpc_base",
3658        "//:grpc_public_hdrs",
3659        "//:grpc_trace",
3660        "//:legacy_context",
3661    ],
3662)
3663
3664grpc_cc_library(
3665    name = "grpc_fault_injection_filter",
3666    srcs = [
3667        "ext/filters/fault_injection/fault_injection_filter.cc",
3668        "ext/filters/fault_injection/fault_injection_service_config_parser.cc",
3669    ],
3670    hdrs = [
3671        "ext/filters/fault_injection/fault_injection_filter.h",
3672        "ext/filters/fault_injection/fault_injection_service_config_parser.h",
3673    ],
3674    external_deps = [
3675        "absl/base:core_headers",
3676        "absl/random",
3677        "absl/status",
3678        "absl/status:statusor",
3679        "absl/strings",
3680        "absl/types:optional",
3681    ],
3682    language = "c++",
3683    deps = [
3684        "arena_promise",
3685        "channel_args",
3686        "channel_fwd",
3687        "context",
3688        "grpc_service_config",
3689        "json",
3690        "json_args",
3691        "json_object_loader",
3692        "service_config_parser",
3693        "sleep",
3694        "time",
3695        "try_seq",
3696        "validation_errors",
3697        "//:config",
3698        "//:gpr",
3699        "//:grpc_base",
3700        "//:grpc_public_hdrs",
3701        "//:grpc_trace",
3702        "//:legacy_context",
3703    ],
3704)
3705
3706grpc_cc_library(
3707    name = "grpc_rbac_filter",
3708    srcs = [
3709        "ext/filters/rbac/rbac_filter.cc",
3710        "ext/filters/rbac/rbac_service_config_parser.cc",
3711    ],
3712    hdrs = [
3713        "ext/filters/rbac/rbac_filter.h",
3714        "ext/filters/rbac/rbac_service_config_parser.h",
3715    ],
3716    external_deps = [
3717        "absl/status",
3718        "absl/status:statusor",
3719        "absl/strings",
3720        "absl/types:optional",
3721    ],
3722    language = "c++",
3723    deps = [
3724        "channel_args",
3725        "channel_fwd",
3726        "closure",
3727        "error",
3728        "grpc_audit_logging",
3729        "grpc_authorization_base",
3730        "grpc_matchers",
3731        "grpc_rbac_engine",
3732        "grpc_service_config",
3733        "json",
3734        "json_args",
3735        "json_object_loader",
3736        "service_config_parser",
3737        "status_helper",
3738        "transport_fwd",
3739        "validation_errors",
3740        "//:config",
3741        "//:debug_location",
3742        "//:gpr",
3743        "//:grpc_base",
3744        "//:grpc_public_hdrs",
3745        "//:grpc_security_base",
3746        "//:legacy_context",
3747    ],
3748)
3749
3750grpc_cc_library(
3751    name = "grpc_stateful_session_filter",
3752    srcs = [
3753        "ext/filters/stateful_session/stateful_session_filter.cc",
3754        "ext/filters/stateful_session/stateful_session_service_config_parser.cc",
3755    ],
3756    hdrs = [
3757        "ext/filters/stateful_session/stateful_session_filter.h",
3758        "ext/filters/stateful_session/stateful_session_service_config_parser.h",
3759    ],
3760    external_deps = [
3761        "absl/status:statusor",
3762        "absl/strings",
3763        "absl/types:optional",
3764    ],
3765    language = "c++",
3766    deps = [
3767        "arena",
3768        "arena_promise",
3769        "channel_args",
3770        "channel_fwd",
3771        "context",
3772        "grpc_service_config",
3773        "json",
3774        "json_args",
3775        "json_object_loader",
3776        "map",
3777        "pipe",
3778        "poll",
3779        "service_config_parser",
3780        "slice",
3781        "time",
3782        "unique_type_name",
3783        "validation_errors",
3784        "//:config",
3785        "//:gpr",
3786        "//:grpc_base",
3787        "//:grpc_trace",
3788        "//:legacy_context",
3789    ],
3790)
3791
3792grpc_cc_library(
3793    name = "grpc_lb_policy_grpclb",
3794    srcs = [
3795        "ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
3796        "ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
3797        "ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
3798        "ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
3799    ],
3800    hdrs = [
3801        "ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
3802        "ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
3803        "ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
3804        "ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
3805    ],
3806    external_deps = [
3807        "absl/base:core_headers",
3808        "absl/container:inlined_vector",
3809        "absl/meta:type_traits",
3810        "absl/status",
3811        "absl/status:statusor",
3812        "absl/strings",
3813        "absl/strings:str_format",
3814        "absl/types:optional",
3815        "absl/types:variant",
3816        "upb_lib",
3817    ],
3818    language = "c++",
3819    deps = [
3820        "arena",
3821        "arena_promise",
3822        "channel_args",
3823        "channel_fwd",
3824        "channel_init",
3825        "channel_stack_type",
3826        "closure",
3827        "context",
3828        "error",
3829        "gpr_atm",
3830        "grpc_sockaddr",
3831        "json",
3832        "json_args",
3833        "json_object_loader",
3834        "lb_policy",
3835        "lb_policy_factory",
3836        "lb_policy_registry",
3837        "map",
3838        "pipe",
3839        "poll",
3840        "pollset_set",
3841        "ref_counted",
3842        "resolved_address",
3843        "slice",
3844        "slice_refcount",
3845        "status_helper",
3846        "subchannel_interface",
3847        "time",
3848        "useful",
3849        "validation_errors",
3850        "//:backoff",
3851        "//:channel_stack_builder",
3852        "//:config",
3853        "//:debug_location",
3854        "//:exec_ctx",
3855        "//:gpr",
3856        "//:grpc_base",
3857        "//:grpc_client_channel",
3858        "//:grpc_grpclb_balancer_addresses",
3859        "//:grpc_lb_upb",
3860        "//:grpc_public_hdrs",
3861        "//:grpc_resolver",
3862        "//:grpc_resolver_fake",
3863        "//:grpc_security_base",
3864        "//:grpc_trace",
3865        "//:orphanable",
3866        "//:protobuf_duration_upb",
3867        "//:protobuf_timestamp_upb",
3868        "//:ref_counted_ptr",
3869        "//:server_address",
3870        "//:sockaddr_utils",
3871        "//:uri_parser",
3872        "//:work_serializer",
3873    ],
3874)
3875
3876grpc_cc_library(
3877    name = "random_early_detection",
3878    srcs = [
3879        "lib/backoff/random_early_detection.cc",
3880    ],
3881    hdrs = [
3882        "lib/backoff/random_early_detection.h",
3883    ],
3884    external_deps = ["absl/random"],
3885    deps = ["//:gpr_platform"],
3886)
3887
3888grpc_cc_library(
3889    name = "grpc_backend_metric_data",
3890    hdrs = [
3891        "ext/filters/client_channel/lb_policy/backend_metric_data.h",
3892    ],
3893    external_deps = ["absl/strings"],
3894    language = "c++",
3895    deps = ["//:gpr_platform"],
3896)
3897
3898grpc_cc_library(
3899    name = "grpc_backend_metric_provider",
3900    hdrs = [
3901        "ext/filters/backend_metrics/backend_metric_provider.h",
3902    ],
3903    language = "c++",
3904)
3905
3906grpc_cc_library(
3907    name = "grpc_lb_policy_rls",
3908    srcs = [
3909        "ext/filters/client_channel/lb_policy/rls/rls.cc",
3910    ],
3911    external_deps = [
3912        "absl/base:core_headers",
3913        "absl/hash",
3914        "absl/status",
3915        "absl/status:statusor",
3916        "absl/strings",
3917        "absl/strings:str_format",
3918        "absl/types:optional",
3919        "upb_lib",
3920    ],
3921    language = "c++",
3922    deps = [
3923        "channel_args",
3924        "closure",
3925        "dual_ref_counted",
3926        "error",
3927        "grpc_fake_credentials",
3928        "json",
3929        "json_args",
3930        "json_object_loader",
3931        "json_writer",
3932        "lb_policy",
3933        "lb_policy_factory",
3934        "lb_policy_registry",
3935        "pollset_set",
3936        "slice",
3937        "slice_refcount",
3938        "status_helper",
3939        "subchannel_interface",
3940        "time",
3941        "validation_errors",
3942        "//:backoff",
3943        "//:config",
3944        "//:debug_location",
3945        "//:exec_ctx",
3946        "//:gpr",
3947        "//:grpc_base",
3948        "//:grpc_client_channel",
3949        "//:grpc_public_hdrs",
3950        "//:grpc_resolver",
3951        "//:grpc_security_base",
3952        "//:grpc_service_config_impl",
3953        "//:grpc_trace",
3954        "//:orphanable",
3955        "//:ref_counted_ptr",
3956        "//:rls_upb",
3957        "//:server_address",
3958        "//:uri_parser",
3959        "//:work_serializer",
3960    ],
3961)
3962
3963grpc_cc_library(
3964    name = "upb_utils",
3965    hdrs = [
3966        "ext/xds/upb_utils.h",
3967    ],
3968    external_deps = [
3969        "absl/strings",
3970        "upb_lib",
3971    ],
3972    language = "c++",
3973    deps = ["//:gpr_platform"],
3974)
3975
3976grpc_cc_library(
3977    name = "grpc_xds_client",
3978    srcs = [
3979        "ext/xds/certificate_provider_store.cc",
3980        "ext/xds/file_watcher_certificate_provider_factory.cc",
3981        "ext/xds/xds_audit_logger_registry.cc",
3982        "ext/xds/xds_bootstrap_grpc.cc",
3983        "ext/xds/xds_certificate_provider.cc",
3984        "ext/xds/xds_client_grpc.cc",
3985        "ext/xds/xds_cluster.cc",
3986        "ext/xds/xds_cluster_specifier_plugin.cc",
3987        "ext/xds/xds_common_types.cc",
3988        "ext/xds/xds_endpoint.cc",
3989        "ext/xds/xds_health_status.cc",
3990        "ext/xds/xds_http_fault_filter.cc",
3991        "ext/xds/xds_http_filters.cc",
3992        "ext/xds/xds_http_rbac_filter.cc",
3993        "ext/xds/xds_http_stateful_session_filter.cc",
3994        "ext/xds/xds_lb_policy_registry.cc",
3995        "ext/xds/xds_listener.cc",
3996        "ext/xds/xds_route_config.cc",
3997        "ext/xds/xds_routing.cc",
3998        "ext/xds/xds_transport_grpc.cc",
3999        "lib/security/credentials/xds/xds_credentials.cc",
4000    ],
4001    hdrs = [
4002        "ext/xds/certificate_provider_store.h",
4003        "ext/xds/file_watcher_certificate_provider_factory.h",
4004        "ext/xds/xds_audit_logger_registry.h",
4005        "ext/xds/xds_bootstrap_grpc.h",
4006        "ext/xds/xds_certificate_provider.h",
4007        "ext/xds/xds_client_grpc.h",
4008        "ext/xds/xds_cluster.h",
4009        "ext/xds/xds_cluster_specifier_plugin.h",
4010        "ext/xds/xds_common_types.h",
4011        "ext/xds/xds_endpoint.h",
4012        "ext/xds/xds_health_status.h",
4013        "ext/xds/xds_http_fault_filter.h",
4014        "ext/xds/xds_http_filters.h",
4015        "ext/xds/xds_http_rbac_filter.h",
4016        "ext/xds/xds_http_stateful_session_filter.h",
4017        "ext/xds/xds_lb_policy_registry.h",
4018        "ext/xds/xds_listener.h",
4019        "ext/xds/xds_route_config.h",
4020        "ext/xds/xds_routing.h",
4021        "ext/xds/xds_transport_grpc.h",
4022        "lib/security/credentials/xds/xds_credentials.h",
4023    ],
4024    external_deps = [
4025        "absl/base:core_headers",
4026        "absl/functional:bind_front",
4027        "absl/memory",
4028        "absl/random",
4029        "absl/status",
4030        "absl/status:statusor",
4031        "absl/strings",
4032        "absl/strings:str_format",
4033        "absl/synchronization",
4034        "absl/types:optional",
4035        "absl/types:span",
4036        "absl/types:variant",
4037        "upb_lib",
4038        "upb_textformat_lib",
4039        "upb_json_lib",
4040        "re2",
4041        "upb_reflection",
4042        "upb_collections_lib",
4043    ],
4044    language = "c++",
4045    tags = ["nofixdeps"],
4046    deps = [
4047        "certificate_provider_factory",
4048        "certificate_provider_registry",
4049        "channel_args",
4050        "channel_creds_registry",
4051        "channel_fwd",
4052        "closure",
4053        "default_event_engine",
4054        "env",
4055        "envoy_admin_upb",
4056        "envoy_config_cluster_upb",
4057        "envoy_config_cluster_upbdefs",
4058        "envoy_config_core_upb",
4059        "envoy_config_endpoint_upb",
4060        "envoy_config_endpoint_upbdefs",
4061        "envoy_config_listener_upb",
4062        "envoy_config_listener_upbdefs",
4063        "envoy_config_rbac_upb",
4064        "envoy_config_route_upb",
4065        "envoy_config_route_upbdefs",
4066        "envoy_extensions_clusters_aggregate_upb",
4067        "envoy_extensions_clusters_aggregate_upbdefs",
4068        "envoy_extensions_filters_common_fault_upb",
4069        "envoy_extensions_filters_http_fault_upb",
4070        "envoy_extensions_filters_http_fault_upbdefs",
4071        "envoy_extensions_filters_http_rbac_upb",
4072        "envoy_extensions_filters_http_rbac_upbdefs",
4073        "envoy_extensions_filters_http_router_upb",
4074        "envoy_extensions_filters_http_router_upbdefs",
4075        "envoy_extensions_filters_http_stateful_session_upb",
4076        "envoy_extensions_filters_http_stateful_session_upbdefs",
4077        "envoy_extensions_filters_network_http_connection_manager_upb",
4078        "envoy_extensions_filters_network_http_connection_manager_upbdefs",
4079        "envoy_extensions_http_stateful_session_cookie_upb",
4080        "envoy_extensions_http_stateful_session_cookie_upbdefs",
4081        "envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_upb",
4082        "envoy_extensions_load_balancing_policies_ring_hash_upb",
4083        "envoy_extensions_load_balancing_policies_wrr_locality_upb",
4084        "envoy_extensions_transport_sockets_tls_upb",
4085        "envoy_extensions_transport_sockets_tls_upbdefs",
4086        "envoy_service_discovery_upb",
4087        "envoy_service_discovery_upbdefs",
4088        "envoy_service_load_stats_upb",
4089        "envoy_service_load_stats_upbdefs",
4090        "envoy_service_status_upb",
4091        "envoy_service_status_upbdefs",
4092        "envoy_type_http_upb",
4093        "envoy_type_matcher_upb",
4094        "envoy_type_upb",
4095        "error",
4096        "google_rpc_status_upb",
4097        "grpc_audit_logging",
4098        "grpc_fake_credentials",
4099        "grpc_fault_injection_filter",
4100        "grpc_lb_xds_channel_args",
4101        "grpc_matchers",
4102        "grpc_outlier_detection_header",
4103        "grpc_rbac_filter",
4104        "grpc_sockaddr",
4105        "grpc_stateful_session_filter",
4106        "grpc_tls_credentials",
4107        "grpc_transport_chttp2_client_connector",
4108        "init_internally",
4109        "iomgr_fwd",
4110        "json",
4111        "json_args",
4112        "json_object_loader",
4113        "json_reader",
4114        "json_util",
4115        "json_writer",
4116        "lb_policy_registry",
4117        "match",
4118        "pollset_set",
4119        "protobuf_any_upb",
4120        "protobuf_duration_upb",
4121        "protobuf_struct_upb",
4122        "protobuf_struct_upbdefs",
4123        "protobuf_timestamp_upb",
4124        "protobuf_wrappers_upb",
4125        "ref_counted",
4126        "resolved_address",
4127        "rls_config_upb",
4128        "rls_config_upbdefs",
4129        "slice",
4130        "slice_refcount",
4131        "status_helper",
4132        "time",
4133        "unique_type_name",
4134        "upb_utils",
4135        "useful",
4136        "validation_errors",
4137        "xds_type_upb",
4138        "xds_type_upbdefs",
4139        "//:config",
4140        "//:debug_location",
4141        "//:exec_ctx",
4142        "//:gpr",
4143        "//:grpc_base",
4144        "//:grpc_client_channel",
4145        "//:grpc_credentials_util",
4146        "//:grpc_public_hdrs",
4147        "//:grpc_security_base",
4148        "//:grpc_trace",
4149        "//:iomgr_timer",
4150        "//:orphanable",
4151        "//:parse_address",
4152        "//:ref_counted_ptr",
4153        "//:server_address",
4154        "//:sockaddr_utils",
4155        "//:tsi_ssl_credentials",
4156        "//:uri_parser",
4157        "//:work_serializer",
4158        "//:xds_client",
4159    ],
4160)
4161
4162grpc_cc_library(
4163    name = "grpc_xds_channel_stack_modifier",
4164    srcs = [
4165        "ext/xds/xds_channel_stack_modifier.cc",
4166    ],
4167    hdrs = [
4168        "ext/xds/xds_channel_stack_modifier.h",
4169    ],
4170    external_deps = ["absl/strings"],
4171    language = "c++",
4172    deps = [
4173        "channel_args",
4174        "channel_fwd",
4175        "channel_stack_type",
4176        "ref_counted",
4177        "useful",
4178        "//:channel_stack_builder",
4179        "//:config",
4180        "//:gpr_platform",
4181        "//:grpc_base",
4182        "//:ref_counted_ptr",
4183    ],
4184)
4185
4186grpc_cc_library(
4187    name = "grpc_xds_server_config_fetcher",
4188    srcs = [
4189        "ext/xds/xds_server_config_fetcher.cc",
4190    ],
4191    external_deps = [
4192        "absl/base:core_headers",
4193        "absl/status",
4194        "absl/status:statusor",
4195        "absl/strings",
4196        "absl/types:optional",
4197        "absl/types:variant",
4198    ],
4199    language = "c++",
4200    deps = [
4201        "channel_args",
4202        "channel_args_preconditioning",
4203        "channel_fwd",
4204        "grpc_server_config_selector",
4205        "grpc_server_config_selector_filter",
4206        "grpc_service_config",
4207        "grpc_sockaddr",
4208        "grpc_tls_credentials",
4209        "grpc_xds_channel_stack_modifier",
4210        "grpc_xds_client",
4211        "iomgr_fwd",
4212        "match",
4213        "resolved_address",
4214        "slice_refcount",
4215        "unique_type_name",
4216        "//:config",
4217        "//:debug_location",
4218        "//:exec_ctx",
4219        "//:gpr",
4220        "//:grpc_base",
4221        "//:grpc_public_hdrs",
4222        "//:grpc_security_base",
4223        "//:grpc_service_config_impl",
4224        "//:grpc_trace",
4225        "//:parse_address",
4226        "//:ref_counted_ptr",
4227        "//:sockaddr_utils",
4228        "//:uri_parser",
4229    ],
4230)
4231
4232grpc_cc_library(
4233    name = "channel_creds_registry_init",
4234    srcs = [
4235        "lib/security/credentials/channel_creds_registry_init.cc",
4236    ],
4237    external_deps = ["absl/strings"],
4238    language = "c++",
4239    deps = [
4240        "channel_creds_registry",
4241        "grpc_fake_credentials",
4242        "grpc_google_default_credentials",
4243        "json",
4244        "//:config",
4245        "//:gpr_platform",
4246        "//:grpc_security_base",
4247        "//:ref_counted_ptr",
4248    ],
4249)
4250
4251grpc_cc_library(
4252    name = "grpc_lb_policy_cds",
4253    srcs = [
4254        "ext/filters/client_channel/lb_policy/xds/cds.cc",
4255    ],
4256    external_deps = [
4257        "absl/status",
4258        "absl/status:statusor",
4259        "absl/strings",
4260        "absl/types:optional",
4261        "absl/types:variant",
4262    ],
4263    language = "c++",
4264    deps = [
4265        "channel_args",
4266        "grpc_matchers",
4267        "grpc_outlier_detection_header",
4268        "grpc_tls_credentials",
4269        "grpc_xds_client",
4270        "json",
4271        "json_args",
4272        "json_object_loader",
4273        "json_writer",
4274        "lb_policy",
4275        "lb_policy_factory",
4276        "lb_policy_registry",
4277        "match",
4278        "pollset_set",
4279        "subchannel_interface",
4280        "time",
4281        "unique_type_name",
4282        "//:config",
4283        "//:debug_location",
4284        "//:gpr",
4285        "//:grpc_base",
4286        "//:grpc_security_base",
4287        "//:grpc_trace",
4288        "//:orphanable",
4289        "//:ref_counted_ptr",
4290        "//:server_address",
4291        "//:work_serializer",
4292    ],
4293)
4294
4295grpc_cc_library(
4296    name = "grpc_lb_xds_channel_args",
4297    hdrs = [
4298        "ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
4299    ],
4300    language = "c++",
4301)
4302
4303grpc_cc_library(
4304    name = "grpc_lb_xds_attributes",
4305    srcs = [
4306        "ext/filters/client_channel/lb_policy/xds/xds_attributes.cc",
4307    ],
4308    hdrs = [
4309        "ext/filters/client_channel/lb_policy/xds/xds_attributes.h",
4310    ],
4311    external_deps = ["absl/strings"],
4312    language = "c++",
4313    deps = [
4314        "useful",
4315        "//:gpr_platform",
4316        "//:ref_counted_ptr",
4317        "//:server_address",
4318        "//:xds_client",
4319    ],
4320)
4321
4322grpc_cc_library(
4323    name = "grpc_lb_policy_xds_cluster_resolver",
4324    srcs = [
4325        "ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc",
4326    ],
4327    external_deps = [
4328        "absl/status",
4329        "absl/status:statusor",
4330        "absl/strings",
4331        "absl/types:optional",
4332    ],
4333    language = "c++",
4334    deps = [
4335        "channel_args",
4336        "grpc_lb_address_filtering",
4337        "grpc_lb_xds_attributes",
4338        "grpc_lb_xds_channel_args",
4339        "grpc_xds_client",
4340        "json",
4341        "json_args",
4342        "json_object_loader",
4343        "json_writer",
4344        "lb_policy",
4345        "lb_policy_factory",
4346        "lb_policy_registry",
4347        "pollset_set",
4348        "subchannel_interface",
4349        "validation_errors",
4350        "//:config",
4351        "//:debug_location",
4352        "//:gpr",
4353        "//:grpc_base",
4354        "//:grpc_client_channel",
4355        "//:grpc_resolver",
4356        "//:grpc_resolver_fake",
4357        "//:grpc_trace",
4358        "//:orphanable",
4359        "//:ref_counted_ptr",
4360        "//:server_address",
4361        "//:work_serializer",
4362        "//:xds_client",
4363    ],
4364)
4365
4366grpc_cc_library(
4367    name = "grpc_lb_policy_xds_cluster_impl",
4368    srcs = [
4369        "ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
4370    ],
4371    external_deps = [
4372        "absl/base:core_headers",
4373        "absl/status",
4374        "absl/status:statusor",
4375        "absl/strings",
4376        "absl/types:optional",
4377        "absl/types:variant",
4378    ],
4379    language = "c++",
4380    deps = [
4381        "channel_args",
4382        "grpc_backend_metric_data",
4383        "grpc_lb_xds_attributes",
4384        "grpc_lb_xds_channel_args",
4385        "grpc_xds_client",
4386        "json",
4387        "json_args",
4388        "json_object_loader",
4389        "lb_policy",
4390        "lb_policy_factory",
4391        "lb_policy_registry",
4392        "pollset_set",
4393        "ref_counted",
4394        "subchannel_interface",
4395        "validation_errors",
4396        "//:config",
4397        "//:debug_location",
4398        "//:gpr",
4399        "//:grpc_base",
4400        "//:grpc_client_channel",
4401        "//:grpc_trace",
4402        "//:orphanable",
4403        "//:ref_counted_ptr",
4404        "//:server_address",
4405        "//:xds_client",
4406    ],
4407)
4408
4409grpc_cc_library(
4410    name = "grpc_lb_policy_xds_cluster_manager",
4411    srcs = [
4412        "ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
4413    ],
4414    external_deps = [
4415        "absl/status",
4416        "absl/status:statusor",
4417        "absl/strings",
4418        "absl/types:optional",
4419    ],
4420    language = "c++",
4421    deps = [
4422        "channel_args",
4423        "grpc_resolver_xds_header",
4424        "json",
4425        "json_args",
4426        "json_object_loader",
4427        "lb_policy",
4428        "lb_policy_factory",
4429        "lb_policy_registry",
4430        "pollset_set",
4431        "subchannel_interface",
4432        "time",
4433        "validation_errors",
4434        "//:config",
4435        "//:debug_location",
4436        "//:exec_ctx",
4437        "//:gpr",
4438        "//:gpr_platform",
4439        "//:grpc_base",
4440        "//:grpc_client_channel",
4441        "//:grpc_trace",
4442        "//:orphanable",
4443        "//:ref_counted_ptr",
4444        "//:server_address",
4445        "//:work_serializer",
4446    ],
4447)
4448
4449grpc_cc_library(
4450    name = "grpc_lb_policy_xds_wrr_locality",
4451    srcs = [
4452        "ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc",
4453    ],
4454    external_deps = [
4455        "absl/status",
4456        "absl/status:statusor",
4457        "absl/strings",
4458    ],
4459    language = "c++",
4460    deps = [
4461        "channel_args",
4462        "grpc_lb_xds_attributes",
4463        "json",
4464        "json_args",
4465        "json_object_loader",
4466        "json_writer",
4467        "lb_policy",
4468        "lb_policy_factory",
4469        "lb_policy_registry",
4470        "pollset_set",
4471        "subchannel_interface",
4472        "validation_errors",
4473        "//:config",
4474        "//:debug_location",
4475        "//:gpr",
4476        "//:grpc_base",
4477        "//:grpc_trace",
4478        "//:orphanable",
4479        "//:ref_counted_ptr",
4480        "//:server_address",
4481        "//:xds_client",
4482    ],
4483)
4484
4485grpc_cc_library(
4486    name = "grpc_lb_address_filtering",
4487    srcs = [
4488        "ext/filters/client_channel/lb_policy/address_filtering.cc",
4489    ],
4490    hdrs = [
4491        "ext/filters/client_channel/lb_policy/address_filtering.h",
4492    ],
4493    external_deps = [
4494        "absl/status:statusor",
4495        "absl/strings",
4496    ],
4497    language = "c++",
4498    deps = [
4499        "//:gpr_platform",
4500        "//:server_address",
4501    ],
4502)
4503
4504grpc_cc_library(
4505    name = "health_check_client",
4506    srcs = [
4507        "ext/filters/client_channel/lb_policy/health_check_client.cc",
4508    ],
4509    hdrs = [
4510        "ext/filters/client_channel/lb_policy/health_check_client.h",
4511        "ext/filters/client_channel/lb_policy/health_check_client_internal.h",
4512    ],
4513    external_deps = [
4514        "absl/base:core_headers",
4515        "absl/status",
4516        "absl/status:statusor",
4517        "absl/strings",
4518        "upb_lib",
4519    ],
4520    language = "c++",
4521    deps = [
4522        "closure",
4523        "error",
4524        "iomgr_fwd",
4525        "pollset_set",
4526        "slice",
4527        "subchannel_interface",
4528        "unique_type_name",
4529        "//:debug_location",
4530        "//:exec_ctx",
4531        "//:gpr",
4532        "//:grpc_base",
4533        "//:grpc_client_channel",
4534        "//:grpc_health_upb",
4535        "//:grpc_public_hdrs",
4536        "//:grpc_trace",
4537        "//:orphanable",
4538        "//:ref_counted_ptr",
4539        "//:work_serializer",
4540    ],
4541)
4542
4543grpc_cc_library(
4544    name = "grpc_lb_subchannel_list",
4545    hdrs = [
4546        "ext/filters/client_channel/lb_policy/subchannel_list.h",
4547    ],
4548    external_deps = [
4549        "absl/status",
4550        "absl/types:optional",
4551    ],
4552    language = "c++",
4553    deps = [
4554        "channel_args",
4555        "dual_ref_counted",
4556        "gpr_manual_constructor",
4557        "health_check_client",
4558        "iomgr_fwd",
4559        "lb_policy",
4560        "subchannel_interface",
4561        "//:debug_location",
4562        "//:gpr",
4563        "//:grpc_base",
4564        "//:grpc_client_channel",
4565        "//:ref_counted_ptr",
4566        "//:server_address",
4567        "//:work_serializer",
4568    ],
4569)
4570
4571grpc_cc_library(
4572    name = "grpc_lb_policy_pick_first",
4573    srcs = [
4574        "ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
4575    ],
4576    external_deps = [
4577        "absl/status",
4578        "absl/status:statusor",
4579        "absl/strings",
4580        "absl/types:optional",
4581    ],
4582    language = "c++",
4583    deps = [
4584        "channel_args",
4585        "grpc_lb_subchannel_list",
4586        "grpc_outlier_detection_header",
4587        "json",
4588        "lb_policy",
4589        "lb_policy_factory",
4590        "subchannel_interface",
4591        "//:config",
4592        "//:debug_location",
4593        "//:gpr",
4594        "//:grpc_base",
4595        "//:grpc_trace",
4596        "//:orphanable",
4597        "//:ref_counted_ptr",
4598        "//:server_address",
4599        "//:work_serializer",
4600    ],
4601)
4602
4603grpc_cc_library(
4604    name = "grpc_lb_policy_ring_hash",
4605    srcs = [
4606        "ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
4607    ],
4608    hdrs = [
4609        "ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
4610    ],
4611    external_deps = [
4612        "absl/base:core_headers",
4613        "absl/container:inlined_vector",
4614        "absl/status",
4615        "absl/status:statusor",
4616        "absl/strings",
4617        "absl/types:optional",
4618        "xxhash",
4619    ],
4620    language = "c++",
4621    deps = [
4622        "channel_args",
4623        "closure",
4624        "error",
4625        "grpc_lb_subchannel_list",
4626        "grpc_service_config",
4627        "json",
4628        "json_args",
4629        "json_object_loader",
4630        "lb_policy",
4631        "lb_policy_factory",
4632        "ref_counted",
4633        "subchannel_interface",
4634        "unique_type_name",
4635        "validation_errors",
4636        "//:config",
4637        "//:debug_location",
4638        "//:exec_ctx",
4639        "//:gpr",
4640        "//:grpc_base",
4641        "//:grpc_client_channel",
4642        "//:grpc_trace",
4643        "//:orphanable",
4644        "//:ref_counted_ptr",
4645        "//:server_address",
4646        "//:sockaddr_utils",
4647        "//:work_serializer",
4648    ],
4649)
4650
4651grpc_cc_library(
4652    name = "grpc_lb_policy_round_robin",
4653    srcs = [
4654        "ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
4655    ],
4656    external_deps = [
4657        "absl/random",
4658        "absl/status",
4659        "absl/status:statusor",
4660        "absl/strings",
4661        "absl/types:optional",
4662    ],
4663    language = "c++",
4664    deps = [
4665        "channel_args",
4666        "grpc_lb_subchannel_list",
4667        "json",
4668        "lb_policy",
4669        "lb_policy_factory",
4670        "subchannel_interface",
4671        "//:config",
4672        "//:debug_location",
4673        "//:gpr",
4674        "//:grpc_base",
4675        "//:grpc_trace",
4676        "//:orphanable",
4677        "//:ref_counted_ptr",
4678        "//:server_address",
4679        "//:work_serializer",
4680    ],
4681)
4682
4683grpc_cc_library(
4684    name = "static_stride_scheduler",
4685    srcs = [
4686        "ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc",
4687    ],
4688    hdrs = [
4689        "ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h",
4690    ],
4691    external_deps = [
4692        "absl/functional:any_invocable",
4693        "absl/types:optional",
4694        "absl/types:span",
4695    ],
4696    language = "c++",
4697    deps = ["//:gpr"],
4698)
4699
4700grpc_cc_library(
4701    name = "grpc_lb_policy_weighted_round_robin",
4702    srcs = [
4703        "ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc",
4704    ],
4705    external_deps = [
4706        "absl/base:core_headers",
4707        "absl/random",
4708        "absl/status",
4709        "absl/status:statusor",
4710        "absl/strings",
4711        "absl/types:optional",
4712    ],
4713    language = "c++",
4714    deps = [
4715        "channel_args",
4716        "grpc_backend_metric_data",
4717        "grpc_lb_subchannel_list",
4718        "json",
4719        "json_args",
4720        "json_object_loader",
4721        "lb_policy",
4722        "lb_policy_factory",
4723        "ref_counted",
4724        "resolved_address",
4725        "static_stride_scheduler",
4726        "subchannel_interface",
4727        "time",
4728        "validation_errors",
4729        "//:config",
4730        "//:debug_location",
4731        "//:exec_ctx",
4732        "//:gpr",
4733        "//:grpc_base",
4734        "//:grpc_client_channel",
4735        "//:grpc_trace",
4736        "//:orphanable",
4737        "//:ref_counted_ptr",
4738        "//:server_address",
4739        "//:sockaddr_utils",
4740        "//:work_serializer",
4741    ],
4742)
4743
4744grpc_cc_library(
4745    name = "grpc_outlier_detection_header",
4746    hdrs = [
4747        "ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h",
4748    ],
4749    external_deps = ["absl/types:optional"],
4750    language = "c++",
4751    deps = [
4752        "json",
4753        "json_args",
4754        "json_object_loader",
4755        "time",
4756        "validation_errors",
4757        "//:gpr_platform",
4758        "//:server_address",
4759    ],
4760)
4761
4762grpc_cc_library(
4763    name = "grpc_lb_policy_outlier_detection",
4764    srcs = [
4765        "ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc",
4766    ],
4767    external_deps = [
4768        "absl/random",
4769        "absl/status",
4770        "absl/status:statusor",
4771        "absl/strings",
4772        "absl/types:variant",
4773    ],
4774    language = "c++",
4775    deps = [
4776        "channel_args",
4777        "grpc_outlier_detection_header",
4778        "iomgr_fwd",
4779        "json",
4780        "lb_policy",
4781        "lb_policy_factory",
4782        "lb_policy_registry",
4783        "pollset_set",
4784        "ref_counted",
4785        "subchannel_interface",
4786        "validation_errors",
4787        "//:config",
4788        "//:debug_location",
4789        "//:exec_ctx",
4790        "//:gpr",
4791        "//:grpc_base",
4792        "//:grpc_client_channel",
4793        "//:grpc_trace",
4794        "//:orphanable",
4795        "//:ref_counted_ptr",
4796        "//:server_address",
4797        "//:sockaddr_utils",
4798        "//:work_serializer",
4799    ],
4800)
4801
4802grpc_cc_library(
4803    name = "grpc_lb_policy_priority",
4804    srcs = [
4805        "ext/filters/client_channel/lb_policy/priority/priority.cc",
4806    ],
4807    external_deps = [
4808        "absl/status",
4809        "absl/status:statusor",
4810        "absl/strings",
4811        "absl/types:optional",
4812    ],
4813    language = "c++",
4814    deps = [
4815        "channel_args",
4816        "grpc_lb_address_filtering",
4817        "json",
4818        "json_args",
4819        "json_object_loader",
4820        "lb_policy",
4821        "lb_policy_factory",
4822        "lb_policy_registry",
4823        "pollset_set",
4824        "subchannel_interface",
4825        "time",
4826        "validation_errors",
4827        "//:config",
4828        "//:debug_location",
4829        "//:exec_ctx",
4830        "//:gpr",
4831        "//:grpc_base",
4832        "//:grpc_client_channel",
4833        "//:grpc_trace",
4834        "//:orphanable",
4835        "//:ref_counted_ptr",
4836        "//:server_address",
4837        "//:work_serializer",
4838    ],
4839)
4840
4841grpc_cc_library(
4842    name = "grpc_lb_policy_weighted_target",
4843    srcs = [
4844        "ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
4845    ],
4846    external_deps = [
4847        "absl/base:core_headers",
4848        "absl/random",
4849        "absl/status",
4850        "absl/status:statusor",
4851        "absl/strings",
4852        "absl/types:optional",
4853    ],
4854    language = "c++",
4855    deps = [
4856        "channel_args",
4857        "grpc_lb_address_filtering",
4858        "json",
4859        "json_args",
4860        "json_object_loader",
4861        "lb_policy",
4862        "lb_policy_factory",
4863        "lb_policy_registry",
4864        "pollset_set",
4865        "subchannel_interface",
4866        "time",
4867        "validation_errors",
4868        "//:config",
4869        "//:debug_location",
4870        "//:exec_ctx",
4871        "//:gpr",
4872        "//:grpc_base",
4873        "//:grpc_client_channel",
4874        "//:grpc_trace",
4875        "//:orphanable",
4876        "//:ref_counted_ptr",
4877        "//:server_address",
4878        "//:work_serializer",
4879    ],
4880)
4881
4882grpc_cc_library(
4883    name = "grpc_lb_policy_xds_override_host",
4884    srcs = [
4885        "ext/filters/client_channel/lb_policy/xds/xds_override_host.cc",
4886    ],
4887    hdrs = [
4888        "ext/filters/client_channel/lb_policy/xds/xds_override_host.h",
4889    ],
4890    external_deps = [
4891        "absl/base:core_headers",
4892        "absl/status",
4893        "absl/status:statusor",
4894        "absl/strings",
4895        "absl/types:optional",
4896        "absl/types:variant",
4897    ],
4898    language = "c++",
4899    deps = [
4900        "channel_args",
4901        "closure",
4902        "error",
4903        "grpc_stateful_session_filter",
4904        "grpc_xds_client",
4905        "iomgr_fwd",
4906        "json",
4907        "json_args",
4908        "json_object_loader",
4909        "lb_policy",
4910        "lb_policy_factory",
4911        "lb_policy_registry",
4912        "match",
4913        "pollset_set",
4914        "subchannel_interface",
4915        "validation_errors",
4916        "//:config",
4917        "//:debug_location",
4918        "//:exec_ctx",
4919        "//:gpr",
4920        "//:grpc_base",
4921        "//:grpc_client_channel",
4922        "//:grpc_trace",
4923        "//:orphanable",
4924        "//:ref_counted_ptr",
4925        "//:server_address",
4926        "//:sockaddr_utils",
4927        "//:work_serializer",
4928    ],
4929)
4930
4931grpc_cc_library(
4932    name = "lb_server_load_reporting_filter",
4933    srcs = [
4934        "ext/filters/load_reporting/server_load_reporting_filter.cc",
4935    ],
4936    hdrs = [
4937        "ext/filters/load_reporting/registered_opencensus_objects.h",
4938        "ext/filters/load_reporting/server_load_reporting_filter.h",
4939        "//:src/cpp/server/load_reporter/constants.h",
4940    ],
4941    external_deps = [
4942        "absl/meta:type_traits",
4943        "absl/status",
4944        "absl/status:statusor",
4945        "absl/strings",
4946        "absl/strings:str_format",
4947        "absl/types:optional",
4948        "opencensus-stats",
4949        "opencensus-tags",
4950    ],
4951    language = "c++",
4952    deps = [
4953        "arena_promise",
4954        "channel_args",
4955        "channel_fwd",
4956        "channel_stack_type",
4957        "context",
4958        "grpc_sockaddr",
4959        "resolved_address",
4960        "seq",
4961        "slice",
4962        "//:channel_stack_builder",
4963        "//:config",
4964        "//:gpr",
4965        "//:gpr_platform",
4966        "//:grpc_base",
4967        "//:grpc_public_hdrs",
4968        "//:grpc_security_base",
4969        "//:parse_address",
4970        "//:promise",
4971        "//:uri_parser",
4972    ],
4973    alwayslink = 1,
4974)
4975
4976grpc_cc_library(
4977    name = "grpc_backend_metric_filter",
4978    srcs = [
4979        "ext/filters/backend_metrics/backend_metric_filter.cc",
4980    ],
4981    hdrs = [
4982        "ext/filters/backend_metrics/backend_metric_filter.h",
4983    ],
4984    external_deps = [
4985        "absl/status:statusor",
4986        "absl/strings",
4987        "absl/types:optional",
4988        "upb_lib",
4989    ],
4990    language = "c++",
4991    deps = [
4992        "arena_promise",
4993        "channel_args",
4994        "channel_fwd",
4995        "channel_stack_type",
4996        "context",
4997        "grpc_backend_metric_data",
4998        "grpc_backend_metric_provider",
4999        "map",
5000        "slice",
5001        "//:channel_stack_builder",
5002        "//:config",
5003        "//:gpr",
5004        "//:gpr_platform",
5005        "//:grpc_base",
5006        "//:grpc_trace",
5007        "//:legacy_context",
5008        "//:xds_orca_upb",
5009    ],
5010)
5011
5012grpc_cc_library(
5013    name = "polling_resolver",
5014    srcs = [
5015        "ext/filters/client_channel/resolver/polling_resolver.cc",
5016    ],
5017    hdrs = [
5018        "ext/filters/client_channel/resolver/polling_resolver.h",
5019    ],
5020    external_deps = [
5021        "absl/status",
5022        "absl/status:statusor",
5023        "absl/strings",
5024        "absl/types:optional",
5025    ],
5026    language = "c++",
5027    deps = [
5028        "channel_args",
5029        "grpc_service_config",
5030        "iomgr_fwd",
5031        "time",
5032        "//:backoff",
5033        "//:debug_location",
5034        "//:event_engine_base_hdrs",
5035        "//:exec_ctx",
5036        "//:gpr",
5037        "//:grpc_resolver",
5038        "//:grpc_trace",
5039        "//:orphanable",
5040        "//:ref_counted_ptr",
5041        "//:uri_parser",
5042        "//:work_serializer",
5043    ],
5044)
5045
5046grpc_cc_library(
5047    name = "service_config_helper",
5048    srcs = ["ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc"],
5049    hdrs = ["ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h"],
5050    external_deps = [
5051        "absl/status:statusor",
5052        "absl/strings",
5053    ],
5054    language = "c++",
5055    deps = [
5056        "json",
5057        "json_args",
5058        "json_object_loader",
5059        "json_reader",
5060        "json_writer",
5061        "status_helper",
5062        "//:gpr_platform",
5063        "//:grpc_base",
5064    ],
5065)
5066
5067grpc_cc_library(
5068    name = "grpc_resolver_dns_event_engine",
5069    srcs = ["ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc"],
5070    hdrs = ["ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h"],
5071    external_deps = [
5072        "absl/base:core_headers",
5073        "absl/cleanup",
5074        "absl/container:flat_hash_set",
5075        "absl/status",
5076        "absl/status:statusor",
5077        "absl/strings",
5078        "absl/types:optional",
5079    ],
5080    language = "c++",
5081    deps = [
5082        "channel_args",
5083        "event_engine_common",
5084        "event_engine_utils",
5085        "grpc_service_config",
5086        "polling_resolver",
5087        "service_config_helper",
5088        "time",
5089        "validation_errors",
5090        "//:backoff",
5091        "//:debug_location",
5092        "//:gpr",
5093        "//:gpr_platform",
5094        "//:grpc_base",
5095        "//:grpc_grpclb_balancer_addresses",
5096        "//:grpc_resolver",
5097        "//:grpc_service_config_impl",
5098        "//:grpc_trace",
5099        "//:orphanable",
5100        "//:ref_counted_ptr",
5101        "//:server_address",
5102        "//:uri_parser",
5103    ],
5104)
5105
5106grpc_cc_library(
5107    name = "grpc_resolver_dns_plugin",
5108    srcs = [
5109        "ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc",
5110    ],
5111    hdrs = [
5112        "ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h",
5113    ],
5114    external_deps = ["absl/strings"],
5115    language = "c++",
5116    deps = [
5117        "experiments",
5118        "grpc_resolver_dns_event_engine",
5119        "grpc_resolver_dns_native",
5120        "//:config",
5121        "//:config_vars",
5122        "//:gpr",
5123        "//:grpc_resolver",
5124        "//:grpc_resolver_dns_ares",
5125    ],
5126)
5127
5128grpc_cc_library(
5129    name = "grpc_resolver_dns_native",
5130    srcs = [
5131        "ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
5132    ],
5133    hdrs = [
5134        "ext/filters/client_channel/resolver/dns/native/dns_resolver.h",
5135    ],
5136    external_deps = [
5137        "absl/functional:bind_front",
5138        "absl/status",
5139        "absl/status:statusor",
5140        "absl/strings",
5141        "absl/types:optional",
5142    ],
5143    language = "c++",
5144    deps = [
5145        "channel_args",
5146        "polling_resolver",
5147        "resolved_address",
5148        "time",
5149        "//:backoff",
5150        "//:config",
5151        "//:debug_location",
5152        "//:gpr",
5153        "//:grpc_base",
5154        "//:grpc_resolver",
5155        "//:grpc_trace",
5156        "//:orphanable",
5157        "//:ref_counted_ptr",
5158        "//:server_address",
5159        "//:uri_parser",
5160    ],
5161)
5162
5163grpc_cc_library(
5164    name = "grpc_resolver_sockaddr",
5165    srcs = [
5166        "ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
5167    ],
5168    external_deps = [
5169        "absl/status:statusor",
5170        "absl/strings",
5171    ],
5172    language = "c++",
5173    deps = [
5174        "channel_args",
5175        "iomgr_port",
5176        "resolved_address",
5177        "//:config",
5178        "//:gpr",
5179        "//:grpc_resolver",
5180        "//:orphanable",
5181        "//:parse_address",
5182        "//:server_address",
5183        "//:uri_parser",
5184    ],
5185)
5186
5187grpc_cc_library(
5188    name = "grpc_resolver_binder",
5189    srcs = [
5190        "ext/filters/client_channel/resolver/binder/binder_resolver.cc",
5191    ],
5192    external_deps = [
5193        "absl/status",
5194        "absl/status:statusor",
5195        "absl/strings",
5196    ],
5197    language = "c++",
5198    deps = [
5199        "channel_args",
5200        "error",
5201        "iomgr_port",
5202        "resolved_address",
5203        "status_helper",
5204        "//:config",
5205        "//:gpr",
5206        "//:grpc_resolver",
5207        "//:orphanable",
5208        "//:server_address",
5209        "//:uri_parser",
5210    ],
5211)
5212
5213grpc_cc_library(
5214    name = "grpc_resolver_xds_header",
5215    hdrs = [
5216        "ext/filters/client_channel/resolver/xds/xds_resolver.h",
5217    ],
5218    external_deps = ["absl/strings"],
5219    language = "c++",
5220    deps = [
5221        "grpc_service_config",
5222        "unique_type_name",
5223        "//:gpr_platform",
5224    ],
5225)
5226
5227grpc_cc_library(
5228    name = "grpc_resolver_xds",
5229    srcs = [
5230        "ext/filters/client_channel/resolver/xds/xds_resolver.cc",
5231    ],
5232    external_deps = [
5233        "absl/meta:type_traits",
5234        "absl/random",
5235        "absl/status",
5236        "absl/status:statusor",
5237        "absl/strings",
5238        "absl/strings:str_format",
5239        "absl/types:optional",
5240        "absl/types:variant",
5241        "re2",
5242        "xxhash",
5243    ],
5244    language = "c++",
5245    deps = [
5246        "arena",
5247        "arena_promise",
5248        "channel_args",
5249        "channel_fwd",
5250        "context",
5251        "dual_ref_counted",
5252        "grpc_lb_policy_ring_hash",
5253        "grpc_resolver_xds_header",
5254        "grpc_service_config",
5255        "grpc_xds_client",
5256        "iomgr_fwd",
5257        "match",
5258        "pollset_set",
5259        "ref_counted",
5260        "slice",
5261        "time",
5262        "unique_type_name",
5263        "//:config",
5264        "//:debug_location",
5265        "//:gpr",
5266        "//:grpc_base",
5267        "//:grpc_client_channel",
5268        "//:grpc_public_hdrs",
5269        "//:grpc_resolver",
5270        "//:grpc_service_config_impl",
5271        "//:grpc_trace",
5272        "//:legacy_context",
5273        "//:orphanable",
5274        "//:ref_counted_ptr",
5275        "//:server_address",
5276        "//:uri_parser",
5277        "//:work_serializer",
5278        "//:xds_client",
5279    ],
5280)
5281
5282grpc_cc_library(
5283    name = "grpc_resolver_c2p",
5284    srcs = [
5285        "ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc",
5286    ],
5287    external_deps = [
5288        "absl/status:statusor",
5289        "absl/strings",
5290        "absl/types:optional",
5291    ],
5292    language = "c++",
5293    deps = [
5294        "channel_args",
5295        "env",
5296        "gcp_metadata_query",
5297        "grpc_xds_client",
5298        "json",
5299        "json_writer",
5300        "resource_quota",
5301        "time",
5302        "//:alts_util",
5303        "//:config",
5304        "//:debug_location",
5305        "//:gpr",
5306        "//:grpc_base",
5307        "//:grpc_resolver",
5308        "//:orphanable",
5309        "//:ref_counted_ptr",
5310        "//:uri_parser",
5311        "//:work_serializer",
5312        "//:xds_client",
5313    ],
5314)
5315
5316grpc_cc_library(
5317    name = "hpack_constants",
5318    hdrs = [
5319        "ext/transport/chttp2/transport/hpack_constants.h",
5320    ],
5321    language = "c++",
5322    deps = ["//:gpr_platform"],
5323)
5324
5325grpc_cc_library(
5326    name = "hpack_encoder_table",
5327    srcs = [
5328        "ext/transport/chttp2/transport/hpack_encoder_table.cc",
5329    ],
5330    hdrs = [
5331        "ext/transport/chttp2/transport/hpack_encoder_table.h",
5332    ],
5333    external_deps = ["absl/container:inlined_vector"],
5334    language = "c++",
5335    deps = [
5336        "hpack_constants",
5337        "//:gpr",
5338    ],
5339)
5340
5341grpc_cc_library(
5342    name = "chttp2_flow_control",
5343    srcs = [
5344        "ext/transport/chttp2/transport/flow_control.cc",
5345    ],
5346    hdrs = [
5347        "ext/transport/chttp2/transport/flow_control.h",
5348    ],
5349    external_deps = [
5350        "absl/functional:function_ref",
5351        "absl/status",
5352        "absl/strings",
5353        "absl/strings:str_format",
5354        "absl/types:optional",
5355    ],
5356    deps = [
5357        "bdp_estimator",
5358        "experiments",
5359        "http2_settings",
5360        "memory_quota",
5361        "pid_controller",
5362        "time",
5363        "useful",
5364        "//:gpr",
5365        "//:grpc_trace",
5366    ],
5367)
5368
5369grpc_cc_library(
5370    name = "huffsyms",
5371    srcs = [
5372        "ext/transport/chttp2/transport/huffsyms.cc",
5373    ],
5374    hdrs = [
5375        "ext/transport/chttp2/transport/huffsyms.h",
5376    ],
5377    deps = ["//:gpr_platform"],
5378)
5379
5380grpc_cc_library(
5381    name = "decode_huff",
5382    srcs = [
5383        "ext/transport/chttp2/transport/decode_huff.cc",
5384    ],
5385    hdrs = [
5386        "ext/transport/chttp2/transport/decode_huff.h",
5387    ],
5388    deps = ["//:gpr_platform"],
5389)
5390
5391grpc_cc_library(
5392    name = "http2_settings",
5393    srcs = [
5394        "ext/transport/chttp2/transport/http2_settings.cc",
5395    ],
5396    hdrs = [
5397        "ext/transport/chttp2/transport/http2_settings.h",
5398    ],
5399    deps = [
5400        "http2_errors",
5401        "useful",
5402        "//:gpr_platform",
5403    ],
5404)
5405
5406grpc_cc_library(
5407    name = "grpc_transport_chttp2_alpn",
5408    srcs = [
5409        "ext/transport/chttp2/alpn/alpn.cc",
5410    ],
5411    hdrs = [
5412        "ext/transport/chttp2/alpn/alpn.h",
5413    ],
5414    language = "c++",
5415    deps = [
5416        "useful",
5417        "//:gpr",
5418    ],
5419)
5420
5421grpc_cc_library(
5422    name = "grpc_transport_chttp2_client_connector",
5423    srcs = [
5424        "ext/transport/chttp2/client/chttp2_connector.cc",
5425    ],
5426    hdrs = [
5427        "ext/transport/chttp2/client/chttp2_connector.h",
5428    ],
5429    external_deps = [
5430        "absl/base:core_headers",
5431        "absl/status",
5432        "absl/status:statusor",
5433        "absl/strings:str_format",
5434        "absl/types:optional",
5435    ],
5436    language = "c++",
5437    deps = [
5438        "channel_args",
5439        "channel_args_endpoint_config",
5440        "channel_args_preconditioning",
5441        "channel_stack_type",
5442        "closure",
5443        "error",
5444        "grpc_insecure_credentials",
5445        "handshaker_registry",
5446        "resolved_address",
5447        "status_helper",
5448        "tcp_connect_handshaker",
5449        "time",
5450        "transport_fwd",
5451        "unique_type_name",
5452        "//:config",
5453        "//:debug_location",
5454        "//:exec_ctx",
5455        "//:gpr",
5456        "//:grpc_base",
5457        "//:grpc_client_channel",
5458        "//:grpc_public_hdrs",
5459        "//:grpc_resolver",
5460        "//:grpc_security_base",
5461        "//:grpc_trace",
5462        "//:grpc_transport_chttp2",
5463        "//:handshaker",
5464        "//:orphanable",
5465        "//:ref_counted_ptr",
5466        "//:sockaddr_utils",
5467    ],
5468)
5469
5470grpc_cc_library(
5471    name = "grpc_transport_chttp2_server",
5472    srcs = [
5473        "ext/transport/chttp2/server/chttp2_server.cc",
5474    ],
5475    hdrs = [
5476        "ext/transport/chttp2/server/chttp2_server.h",
5477    ],
5478    external_deps = [
5479        "absl/base:core_headers",
5480        "absl/status",
5481        "absl/status:statusor",
5482        "absl/strings",
5483        "absl/strings:str_format",
5484        "absl/types:optional",
5485    ],
5486    language = "c++",
5487    deps = [
5488        "channel_args",
5489        "channel_args_endpoint_config",
5490        "closure",
5491        "error",
5492        "grpc_insecure_credentials",
5493        "handshaker_registry",
5494        "iomgr_fwd",
5495        "memory_quota",
5496        "pollset_set",
5497        "resolved_address",
5498        "resource_quota",
5499        "status_helper",
5500        "time",
5501        "transport_fwd",
5502        "unique_type_name",
5503        "//:chttp2_frame",
5504        "//:config",
5505        "//:debug_location",
5506        "//:exec_ctx",
5507        "//:gpr",
5508        "//:grpc_base",
5509        "//:grpc_security_base",
5510        "//:grpc_trace",
5511        "//:grpc_transport_chttp2",
5512        "//:handshaker",
5513        "//:orphanable",
5514        "//:ref_counted_ptr",
5515        "//:sockaddr_utils",
5516        "//:uri_parser",
5517    ],
5518)
5519
5520grpc_cc_library(
5521    name = "grpc_transport_inproc",
5522    srcs = [
5523        "ext/transport/inproc/inproc_plugin.cc",
5524        "ext/transport/inproc/inproc_transport.cc",
5525    ],
5526    hdrs = [
5527        "ext/transport/inproc/inproc_transport.h",
5528    ],
5529    external_deps = [
5530        "absl/status",
5531        "absl/status:statusor",
5532        "absl/strings",
5533        "absl/types:optional",
5534    ],
5535    language = "c++",
5536    deps = [
5537        "arena",
5538        "channel_args",
5539        "channel_args_preconditioning",
5540        "channel_stack_type",
5541        "closure",
5542        "error",
5543        "iomgr_fwd",
5544        "slice",
5545        "slice_buffer",
5546        "status_helper",
5547        "time",
5548        "transport_fwd",
5549        "//:config",
5550        "//:debug_location",
5551        "//:exec_ctx",
5552        "//:gpr",
5553        "//:grpc_base",
5554        "//:grpc_public_hdrs",
5555        "//:grpc_trace",
5556        "//:ref_counted_ptr",
5557    ],
5558)
5559
5560grpc_cc_library(
5561    name = "chaotic_good_frame",
5562    srcs = [
5563        "ext/transport/chaotic_good/frame.cc",
5564    ],
5565    hdrs = [
5566        "ext/transport/chaotic_good/frame.h",
5567    ],
5568    external_deps = [
5569        "absl/status",
5570        "absl/status:statusor",
5571        "absl/types:variant",
5572    ],
5573    deps = [
5574        "arena",
5575        "bitset",
5576        "chaotic_good_frame_header",
5577        "no_destruct",
5578        "slice",
5579        "slice_buffer",
5580        "status_helper",
5581        "//:gpr",
5582        "//:gpr_platform",
5583        "//:grpc_base",
5584        "//:hpack_encoder",
5585        "//:hpack_parser",
5586    ],
5587)
5588
5589grpc_cc_library(
5590    name = "chaotic_good_frame_header",
5591    srcs = [
5592        "ext/transport/chaotic_good/frame_header.cc",
5593    ],
5594    hdrs = [
5595        "ext/transport/chaotic_good/frame_header.h",
5596    ],
5597    external_deps = [
5598        "absl/status",
5599        "absl/status:statusor",
5600    ],
5601    deps = [
5602        "bitset",
5603        "//:gpr_platform",
5604    ],
5605)
5606
5607grpc_cc_library(
5608    name = "gcp_metadata_query",
5609    srcs = [
5610        "ext/gcp/metadata_query.cc",
5611    ],
5612    hdrs = [
5613        "ext/gcp/metadata_query.h",
5614    ],
5615    external_deps = [
5616        "absl/functional:any_invocable",
5617        "absl/status",
5618        "absl/status:statusor",
5619        "absl/strings",
5620        "absl/strings:str_format",
5621    ],
5622    deps = [
5623        "closure",
5624        "error",
5625        "status_helper",
5626        "time",
5627        "//:gpr",
5628        "//:gpr_platform",
5629        "//:grpc_base",
5630        "//:grpc_security_base",
5631        "//:grpc_trace",
5632        "//:httpcli",
5633        "//:orphanable",
5634        "//:ref_counted_ptr",
5635        "//:uri_parser",
5636    ],
5637)
5638
5639grpc_cc_library(
5640    name = "logging_sink",
5641    hdrs = [
5642        "ext/filters/logging/logging_sink.h",
5643    ],
5644    external_deps = [
5645        "absl/numeric:int128",
5646        "absl/strings",
5647    ],
5648    language = "c++",
5649    visibility = [
5650        "//src/cpp/ext/gcp:__subpackages__",
5651        "//test:__subpackages__",
5652    ],
5653    deps = [
5654        "time",
5655        "//:gpr_platform",
5656    ],
5657)
5658
5659grpc_cc_library(
5660    name = "logging_filter",
5661    srcs = [
5662        "ext/filters/logging/logging_filter.cc",
5663    ],
5664    hdrs = [
5665        "ext/filters/logging/logging_filter.h",
5666    ],
5667    external_deps = [
5668        "absl/numeric:int128",
5669        "absl/random",
5670        "absl/random:distributions",
5671        "absl/status:statusor",
5672        "absl/strings",
5673        "absl/types:optional",
5674    ],
5675    language = "c++",
5676    visibility = [
5677        "//src/cpp/ext/gcp:__subpackages__",
5678        "//test:__subpackages__",
5679    ],
5680    deps = [
5681        "arena",
5682        "arena_promise",
5683        "cancel_callback",
5684        "channel_args",
5685        "channel_fwd",
5686        "channel_stack_type",
5687        "context",
5688        "logging_sink",
5689        "map",
5690        "pipe",
5691        "poll",
5692        "slice",
5693        "slice_buffer",
5694        "time",
5695        "//:channel_stack_builder",
5696        "//:config",
5697        "//:gpr",
5698        "//:gpr_platform",
5699        "//:grpc_base",
5700        "//:grpc_client_channel",
5701        "//:grpc_public_hdrs",
5702        "//:grpc_resolver",
5703        "//:legacy_context",
5704        "//:uri_parser",
5705    ],
5706)
5707
5708### UPB Targets
5709
5710grpc_upb_proto_library(
5711    name = "envoy_admin_upb",
5712    deps = ["@envoy_api//envoy/admin/v3:pkg"],
5713)
5714
5715grpc_upb_proto_library(
5716    name = "envoy_config_cluster_upb",
5717    deps = ["@envoy_api//envoy/config/cluster/v3:pkg"],
5718)
5719
5720grpc_upb_proto_reflection_library(
5721    name = "envoy_config_cluster_upbdefs",
5722    deps = ["@envoy_api//envoy/config/cluster/v3:pkg"],
5723)
5724
5725grpc_upb_proto_library(
5726    name = "envoy_config_core_upb",
5727    deps = ["@envoy_api//envoy/config/core/v3:pkg"],
5728)
5729
5730grpc_upb_proto_library(
5731    name = "envoy_config_endpoint_upb",
5732    deps = ["@envoy_api//envoy/config/endpoint/v3:pkg"],
5733)
5734
5735grpc_upb_proto_reflection_library(
5736    name = "envoy_config_endpoint_upbdefs",
5737    deps = ["@envoy_api//envoy/config/endpoint/v3:pkg"],
5738)
5739
5740grpc_upb_proto_library(
5741    name = "envoy_config_listener_upb",
5742    deps = ["@envoy_api//envoy/config/listener/v3:pkg"],
5743)
5744
5745grpc_upb_proto_reflection_library(
5746    name = "envoy_config_listener_upbdefs",
5747    deps = ["@envoy_api//envoy/config/listener/v3:pkg"],
5748)
5749
5750grpc_upb_proto_library(
5751    name = "envoy_config_rbac_upb",
5752    deps = ["@envoy_api//envoy/config/rbac/v3:pkg"],
5753)
5754
5755grpc_upb_proto_library(
5756    name = "envoy_config_route_upb",
5757    deps = ["@envoy_api//envoy/config/route/v3:pkg"],
5758)
5759
5760grpc_upb_proto_reflection_library(
5761    name = "envoy_config_route_upbdefs",
5762    deps = ["@envoy_api//envoy/config/route/v3:pkg"],
5763)
5764
5765grpc_upb_proto_library(
5766    name = "envoy_extensions_clusters_aggregate_upb",
5767    deps = ["@envoy_api//envoy/extensions/clusters/aggregate/v3:pkg"],
5768)
5769
5770grpc_upb_proto_reflection_library(
5771    name = "envoy_extensions_clusters_aggregate_upbdefs",
5772    deps = ["@envoy_api//envoy/extensions/clusters/aggregate/v3:pkg"],
5773)
5774
5775grpc_upb_proto_library(
5776    name = "envoy_extensions_filters_common_fault_upb",
5777    deps = ["@envoy_api//envoy/extensions/filters/common/fault/v3:pkg"],
5778)
5779
5780grpc_upb_proto_library(
5781    name = "envoy_extensions_filters_http_fault_upb",
5782    deps = ["@envoy_api//envoy/extensions/filters/http/fault/v3:pkg"],
5783)
5784
5785grpc_upb_proto_reflection_library(
5786    name = "envoy_extensions_filters_http_fault_upbdefs",
5787    deps = ["@envoy_api//envoy/extensions/filters/http/fault/v3:pkg"],
5788)
5789
5790grpc_upb_proto_library(
5791    name = "envoy_extensions_filters_http_rbac_upb",
5792    deps = ["@envoy_api//envoy/extensions/filters/http/rbac/v3:pkg"],
5793)
5794
5795grpc_upb_proto_reflection_library(
5796    name = "envoy_extensions_filters_http_rbac_upbdefs",
5797    deps = ["@envoy_api//envoy/extensions/filters/http/rbac/v3:pkg"],
5798)
5799
5800grpc_upb_proto_library(
5801    name = "envoy_extensions_filters_http_router_upb",
5802    deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
5803)
5804
5805grpc_upb_proto_reflection_library(
5806    name = "envoy_extensions_filters_http_router_upbdefs",
5807    deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
5808)
5809
5810grpc_upb_proto_library(
5811    name = "envoy_extensions_filters_http_stateful_session_upb",
5812    deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
5813)
5814
5815grpc_upb_proto_reflection_library(
5816    name = "envoy_extensions_filters_http_stateful_session_upbdefs",
5817    deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
5818)
5819
5820grpc_upb_proto_library(
5821    name = "envoy_extensions_http_stateful_session_cookie_upb",
5822    deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
5823)
5824
5825grpc_upb_proto_reflection_library(
5826    name = "envoy_extensions_http_stateful_session_cookie_upbdefs",
5827    deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
5828)
5829
5830grpc_upb_proto_library(
5831    name = "envoy_type_http_upb",
5832    deps = ["@envoy_api//envoy/type/http/v3:pkg"],
5833)
5834
5835grpc_upb_proto_library(
5836    name = "envoy_extensions_load_balancing_policies_client_side_weighted_round_robin_upb",
5837    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3:pkg"],
5838)
5839
5840grpc_upb_proto_library(
5841    name = "envoy_extensions_load_balancing_policies_ring_hash_upb",
5842    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/ring_hash/v3:pkg"],
5843)
5844
5845grpc_upb_proto_library(
5846    name = "envoy_extensions_load_balancing_policies_wrr_locality_upb",
5847    deps = ["@envoy_api//envoy/extensions/load_balancing_policies/wrr_locality/v3:pkg"],
5848)
5849
5850grpc_upb_proto_library(
5851    name = "envoy_extensions_filters_network_http_connection_manager_upb",
5852    deps = ["@envoy_api//envoy/extensions/filters/network/http_connection_manager/v3:pkg"],
5853)
5854
5855grpc_upb_proto_reflection_library(
5856    name = "envoy_extensions_filters_network_http_connection_manager_upbdefs",
5857    deps = ["@envoy_api//envoy/extensions/filters/network/http_connection_manager/v3:pkg"],
5858)
5859
5860grpc_upb_proto_library(
5861    name = "envoy_extensions_transport_sockets_tls_upb",
5862    deps = ["@envoy_api//envoy/extensions/transport_sockets/tls/v3:pkg"],
5863)
5864
5865grpc_upb_proto_reflection_library(
5866    name = "envoy_extensions_transport_sockets_tls_upbdefs",
5867    deps = ["@envoy_api//envoy/extensions/transport_sockets/tls/v3:pkg"],
5868)
5869
5870grpc_upb_proto_library(
5871    name = "envoy_service_discovery_upb",
5872    deps = ["@envoy_api//envoy/service/discovery/v3:pkg"],
5873)
5874
5875grpc_upb_proto_reflection_library(
5876    name = "envoy_service_discovery_upbdefs",
5877    deps = ["@envoy_api//envoy/service/discovery/v3:pkg"],
5878)
5879
5880grpc_upb_proto_library(
5881    name = "envoy_service_load_stats_upb",
5882    deps = ["@envoy_api//envoy/service/load_stats/v3:pkg"],
5883)
5884
5885grpc_upb_proto_reflection_library(
5886    name = "envoy_service_load_stats_upbdefs",
5887    deps = ["@envoy_api//envoy/service/load_stats/v3:pkg"],
5888)
5889
5890grpc_upb_proto_library(
5891    name = "envoy_service_status_upb",
5892    deps = ["@envoy_api//envoy/service/status/v3:pkg"],
5893)
5894
5895grpc_upb_proto_reflection_library(
5896    name = "envoy_service_status_upbdefs",
5897    deps = ["@envoy_api//envoy/service/status/v3:pkg"],
5898)
5899
5900grpc_upb_proto_library(
5901    name = "envoy_type_matcher_upb",
5902    deps = ["@envoy_api//envoy/type/matcher/v3:pkg"],
5903)
5904
5905grpc_upb_proto_library(
5906    name = "envoy_type_upb",
5907    deps = ["@envoy_api//envoy/type/v3:pkg"],
5908)
5909
5910grpc_upb_proto_library(
5911    name = "xds_type_upb",
5912    deps = ["@com_github_cncf_udpa//xds/type/v3:pkg"],
5913)
5914
5915grpc_upb_proto_reflection_library(
5916    name = "xds_type_upbdefs",
5917    deps = ["@com_github_cncf_udpa//xds/type/v3:pkg"],
5918)
5919
5920grpc_upb_proto_library(
5921    name = "xds_orca_upb",
5922    deps = ["@com_github_cncf_udpa//xds/data/orca/v3:pkg"],
5923)
5924
5925grpc_upb_proto_library(
5926    name = "xds_orca_service_upb",
5927    deps = ["@com_github_cncf_udpa//xds/service/orca/v3:pkg"],
5928)
5929
5930grpc_upb_proto_library(
5931    name = "grpc_health_upb",
5932    deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
5933)
5934
5935grpc_upb_proto_library(
5936    name = "google_rpc_status_upb",
5937    deps = ["@com_google_googleapis//google/rpc:status_proto"],
5938)
5939
5940grpc_upb_proto_reflection_library(
5941    name = "google_rpc_status_upbdefs",
5942    deps = ["@com_google_googleapis//google/rpc:status_proto"],
5943)
5944
5945grpc_upb_proto_library(
5946    name = "google_type_expr_upb",
5947    deps = ["@com_google_googleapis//google/type:expr_proto"],
5948)
5949
5950grpc_upb_proto_library(
5951    name = "grpc_lb_upb",
5952    deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
5953)
5954
5955grpc_upb_proto_library(
5956    name = "alts_upb",
5957    deps = ["//src/proto/grpc/gcp:alts_handshaker_proto"],
5958)
5959
5960grpc_upb_proto_library(
5961    name = "rls_upb",
5962    deps = ["//src/proto/grpc/lookup/v1:rls_proto_descriptor"],
5963)
5964
5965grpc_upb_proto_library(
5966    name = "rls_config_upb",
5967    deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
5968)
5969
5970grpc_upb_proto_reflection_library(
5971    name = "rls_config_upbdefs",
5972    deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
5973)
5974
5975WELL_KNOWN_PROTO_TARGETS = [
5976    "any",
5977    "duration",
5978    "empty",
5979    "struct",
5980    "timestamp",
5981    "wrappers",
5982]
5983
5984[grpc_upb_proto_library(
5985    name = "protobuf_" + target + "_upb",
5986    deps = ["@com_google_protobuf//:" + target + "_proto"],
5987) for target in WELL_KNOWN_PROTO_TARGETS]
5988
5989[grpc_upb_proto_reflection_library(
5990    name = "protobuf_" + target + "_upbdefs",
5991    deps = ["@com_google_protobuf//:" + target + "_proto"],
5992) for target in WELL_KNOWN_PROTO_TARGETS]
5993