# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

# Auto-generated by quic/facebook/generate_cmake.py - DO NOT EDIT MANUALLY

mvfst_add_library(mvfst_server_accept_observer)

mvfst_add_library(mvfst_server_quic_handshake_socket_holder
  EXPORTED_DEPS
    mvfst_api_transport
    mvfst_server_server
)

mvfst_add_library(mvfst_server_rate_limiter
  SRCS
    SlidingWindowRateLimiter.cpp
  EXPORTED_DEPS
    mvfst_common_optional
    mvfst_constants
)

mvfst_add_library(mvfst_server_server
  SRCS
    QuicServer.cpp
    QuicServerBackend.cpp
    QuicServerPacketRouter.cpp
    QuicServerTransport.cpp
    QuicServerWorker.cpp
  DEPS
    mvfst_codec_header_codec
    mvfst_common_mvfst_logging
    mvfst_common_optional
    mvfst_common_socket_util
    mvfst_congestion_control_bbr
    mvfst_congestion_control_copa
    mvfst_fizz_handshake
    mvfst_fizz_server_handshake
    mvfst_logging_oops_logger
    mvfst_priority_http_priority_queue
    mvfst_server_accept_observer
    mvfst_server_handshake_app_token
    mvfst_server_handshake_default_app_token_validator
    mvfst_server_handshake_stateless_reset_generator
    mvfst_server_handshake_token_generator
    mvfst_server_third_party_siphash
    mvfst_state_connection_oops_fields
    mvfst_state_transport_settings_functions
    Folly::folly_chrono_conv
    Folly::folly_io_async_event_base_manager
    Folly::folly_portability_gflags
    Folly::folly_system_hardware_concurrency
    Folly::folly_system_thread_id
    Folly::folly_token_bucket
    fmt::fmt
  EXPORTED_DEPS
    mvfst_api_quic_batch_writer
    mvfst_api_transport
    mvfst_api_transport_helpers
    mvfst_codec_types
    mvfst_common_buf_accessor
    mvfst_common_events_folly_eventbase
    mvfst_common_events_highres_quic_timer
    mvfst_common_transport_knobs
    mvfst_common_udpsocket_folly_async_udp_socket
    mvfst_common_udpsocket_quic_async_udp_socket
    mvfst_congestion_control_congestion_controller_factory
    mvfst_congestion_control_server_congestion_controller_factory
    mvfst_constants
    mvfst_handshake
    mvfst_server_handshake_server_extension
    mvfst_server_rate_limiter
    mvfst_server_state_server
    mvfst_server_state_server_connection_id_rejector
    mvfst_state_quic_connection_stats
    mvfst_state_stats_callback
    fizz::fizz
    Folly::folly_container_evicting_cache_map
    Folly::folly_container_f14_hash
    Folly::folly_function
    Folly::folly_io_async_async_base
    Folly::folly_io_async_async_transport_certificate
    Folly::folly_io_async_async_udp_socket
    Folly::folly_io_async_scoped_event_base_thread
    Folly::folly_io_socket_option_map
    Folly::folly_random
    Folly::folly_thread_local
)

add_subdirectory(async_tran)
add_subdirectory(handshake)
add_subdirectory(state)
add_subdirectory(third-party)

add_subdirectory(test)
