# Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("../../../webrtc.gni")

group("packet") {
  deps = [ ":bounded_io" ]
}

rtc_source_set("bounded_io") {
  deps = [ "../../../rtc_base:checks" ]
  sources = [
    "bounded_byte_reader.h",
    "bounded_byte_writer.h",
  ]
}

rtc_library("tlv_trait") {
  deps = [
    ":bounded_io",
    "../../../rtc_base:logging",
  ]
  sources = [
    "tlv_trait.cc",
    "tlv_trait.h",
  ]
}

rtc_source_set("data") {
  deps = [
    "../../../rtc_base:strong_alias",
    "../common:internal_types",
    "../public:types",
  ]
  sources = [ "data.h" ]
}

rtc_library("crc32c") {
  deps = [
    "//third_party/abseil-cpp/absl/crc:crc32c",
    "//third_party/abseil-cpp/absl/numeric:bits",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
  sources = [
    "crc32c.cc",
    "crc32c.h",
  ]
}

rtc_library("parameter") {
  deps = [
    ":bounded_io",
    ":tlv_trait",
    "../../../rtc_base:logging",
    "../../../rtc_base:stringutils",
    "../common:internal_types",
    "../common:math",
    "../public:types",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/memory",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
  sources = [
    "parameter/add_incoming_streams_request_parameter.cc",
    "parameter/add_incoming_streams_request_parameter.h",
    "parameter/add_outgoing_streams_request_parameter.cc",
    "parameter/add_outgoing_streams_request_parameter.h",
    "parameter/forward_tsn_supported_parameter.cc",
    "parameter/forward_tsn_supported_parameter.h",
    "parameter/heartbeat_info_parameter.cc",
    "parameter/heartbeat_info_parameter.h",
    "parameter/incoming_ssn_reset_request_parameter.cc",
    "parameter/incoming_ssn_reset_request_parameter.h",
    "parameter/outgoing_ssn_reset_request_parameter.cc",
    "parameter/outgoing_ssn_reset_request_parameter.h",
    "parameter/parameter.cc",
    "parameter/parameter.h",
    "parameter/reconfiguration_response_parameter.cc",
    "parameter/reconfiguration_response_parameter.h",
    "parameter/ssn_tsn_reset_request_parameter.cc",
    "parameter/ssn_tsn_reset_request_parameter.h",
    "parameter/state_cookie_parameter.cc",
    "parameter/state_cookie_parameter.h",
    "parameter/supported_extensions_parameter.cc",
    "parameter/supported_extensions_parameter.h",
    "parameter/zero_checksum_acceptable_chunk_parameter.cc",
    "parameter/zero_checksum_acceptable_chunk_parameter.h",
  ]
}

rtc_library("error_cause") {
  deps = [
    ":bounded_io",
    ":parameter",
    ":tlv_trait",
    "../../../rtc_base:logging",
    "../../../rtc_base:stringutils",
    "../common:internal_types",
    "../public:types",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
  sources = [
    "error_cause/cookie_received_while_shutting_down_cause.cc",
    "error_cause/cookie_received_while_shutting_down_cause.h",
    "error_cause/error_cause.cc",
    "error_cause/error_cause.h",
    "error_cause/invalid_mandatory_parameter_cause.cc",
    "error_cause/invalid_mandatory_parameter_cause.h",
    "error_cause/invalid_stream_identifier_cause.cc",
    "error_cause/invalid_stream_identifier_cause.h",
    "error_cause/missing_mandatory_parameter_cause.cc",
    "error_cause/missing_mandatory_parameter_cause.h",
    "error_cause/no_user_data_cause.cc",
    "error_cause/no_user_data_cause.h",
    "error_cause/out_of_resource_error_cause.cc",
    "error_cause/out_of_resource_error_cause.h",
    "error_cause/protocol_violation_cause.cc",
    "error_cause/protocol_violation_cause.h",
    "error_cause/restart_of_an_association_with_new_address_cause.cc",
    "error_cause/restart_of_an_association_with_new_address_cause.h",
    "error_cause/stale_cookie_error_cause.cc",
    "error_cause/stale_cookie_error_cause.h",
    "error_cause/unrecognized_chunk_type_cause.cc",
    "error_cause/unrecognized_chunk_type_cause.h",
    "error_cause/unrecognized_parameter_cause.cc",
    "error_cause/unrecognized_parameter_cause.h",
    "error_cause/unresolvable_address_cause.cc",
    "error_cause/unresolvable_address_cause.h",
    "error_cause/user_initiated_abort_cause.cc",
    "error_cause/user_initiated_abort_cause.h",
  ]
}

rtc_library("chunk") {
  deps = [
    ":bounded_io",
    ":data",
    ":parameter",
    ":tlv_trait",
    "../../../rtc_base:checks",
    "../../../rtc_base:logging",
    "../../../rtc_base:stringutils",
    "../../../rtc_base:strong_alias",
    "../common:internal_types",
    "../public:types",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/strings:string_view",
  ]
  sources = [
    "chunk/abort_chunk.cc",
    "chunk/abort_chunk.h",
    "chunk/chunk.cc",
    "chunk/chunk.h",
    "chunk/cookie_ack_chunk.cc",
    "chunk/cookie_ack_chunk.h",
    "chunk/cookie_echo_chunk.cc",
    "chunk/cookie_echo_chunk.h",
    "chunk/data_chunk.cc",
    "chunk/data_chunk.h",
    "chunk/data_common.h",
    "chunk/error_chunk.cc",
    "chunk/error_chunk.h",
    "chunk/forward_tsn_chunk.cc",
    "chunk/forward_tsn_chunk.h",
    "chunk/forward_tsn_common.h",
    "chunk/heartbeat_ack_chunk.cc",
    "chunk/heartbeat_ack_chunk.h",
    "chunk/heartbeat_request_chunk.cc",
    "chunk/heartbeat_request_chunk.h",
    "chunk/idata_chunk.cc",
    "chunk/idata_chunk.h",
    "chunk/iforward_tsn_chunk.cc",
    "chunk/iforward_tsn_chunk.h",
    "chunk/init_ack_chunk.cc",
    "chunk/init_ack_chunk.h",
    "chunk/init_chunk.cc",
    "chunk/init_chunk.h",
    "chunk/reconfig_chunk.cc",
    "chunk/reconfig_chunk.h",
    "chunk/sack_chunk.cc",
    "chunk/sack_chunk.h",
    "chunk/shutdown_ack_chunk.cc",
    "chunk/shutdown_ack_chunk.h",
    "chunk/shutdown_chunk.cc",
    "chunk/shutdown_chunk.h",
    "chunk/shutdown_complete_chunk.cc",
    "chunk/shutdown_complete_chunk.h",
  ]
}

rtc_library("chunk_validators") {
  deps = [
    ":chunk",
    "../../../rtc_base:logging",
    "//third_party/abseil-cpp/absl/algorithm:container",
  ]
  sources = [
    "chunk_validators.cc",
    "chunk_validators.h",
  ]
}

rtc_library("sctp_packet") {
  deps = [
    ":bounded_io",
    ":chunk",
    ":crc32c",
    "../../../rtc_base:checks",
    "../../../rtc_base:logging",
    "../../../rtc_base:stringutils",
    "../common:internal_types",
    "../common:math",
    "../public:types",
    "//third_party/abseil-cpp/absl/memory",
  ]
  sources = [
    "sctp_packet.cc",
    "sctp_packet.h",
  ]
}

if (rtc_include_tests) {
  rtc_cc_test("bounded_byte_reader_test") {
    deps = [
      ":bounded_io",
      "../../../test:test_support",
    ]
    sources = [ "bounded_byte_reader_test.cc" ]
  }

  rtc_cc_test("bounded_byte_writer_test") {
    deps = [
      ":bounded_io",
      "../../../test:test_support",
    ]
    sources = [ "bounded_byte_writer_test.cc" ]
  }

  rtc_cc_test("abort_chunk_test") {
    deps = [
      ":chunk",
      ":error_cause",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/abort_chunk_test.cc" ]
  }

  rtc_cc_test("cookie_ack_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/cookie_ack_chunk_test.cc" ]
  }

  rtc_cc_test("cookie_echo_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/cookie_echo_chunk_test.cc" ]
  }

  rtc_cc_test("data_chunk_test") {
    deps = [
      ":chunk",
      ":data",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/data_chunk_test.cc" ]
  }

  rtc_cc_test("error_chunk_test") {
    deps = [
      ":chunk",
      ":error_cause",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/error_chunk_test.cc" ]
  }

  rtc_cc_test("forward_tsn_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/forward_tsn_chunk_test.cc" ]
  }

  rtc_cc_test("heartbeat_ack_chunk_test") {
    deps = [
      ":chunk",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/heartbeat_ack_chunk_test.cc" ]
  }

  rtc_cc_test("heartbeat_request_chunk_test") {
    deps = [
      ":chunk",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/heartbeat_request_chunk_test.cc" ]
  }

  rtc_cc_test("idata_chunk_test") {
    deps = [
      ":chunk",
      ":data",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/idata_chunk_test.cc" ]
  }

  rtc_cc_test("iforward_tsn_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/iforward_tsn_chunk_test.cc" ]
  }

  rtc_cc_test("init_ack_chunk_test") {
    deps = [
      ":chunk",
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/init_ack_chunk_test.cc" ]
  }

  rtc_cc_test("init_chunk_test") {
    deps = [
      ":chunk",
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/init_chunk_test.cc" ]
  }

  rtc_cc_test("reconfig_chunk_test") {
    deps = [
      ":chunk",
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/reconfig_chunk_test.cc" ]
  }

  rtc_cc_test("sack_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/sack_chunk_test.cc" ]
  }

  rtc_cc_test("shutdown_ack_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
    ]
    sources = [ "chunk/shutdown_ack_chunk_test.cc" ]
  }

  rtc_cc_test("shutdown_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "chunk/shutdown_chunk_test.cc" ]
  }

  rtc_cc_test("shutdown_complete_chunk_test") {
    deps = [
      ":chunk",
      "../../../test:test_support",
    ]
    sources = [ "chunk/shutdown_complete_chunk_test.cc" ]
  }

  rtc_cc_test("chunk_validators_test") {
    deps = [
      ":chunk",
      ":chunk_validators",
      "../../../test:test_support",
      "../common:internal_types",
    ]
    sources = [ "chunk_validators_test.cc" ]
  }

  rtc_cc_test("crc32c_test") {
    deps = [
      ":crc32c",
      "../../../test:test_support",
    ]
    sources = [ "crc32c_test.cc" ]
  }

  rtc_cc_test("cookie_received_while_shutting_down_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources =
        [ "error_cause/cookie_received_while_shutting_down_cause_test.cc" ]
  }

  rtc_cc_test("invalid_mandatory_parameter_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/invalid_mandatory_parameter_cause_test.cc" ]
  }

  rtc_cc_test("invalid_stream_identifier_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/invalid_stream_identifier_cause_test.cc" ]
  }

  rtc_cc_test("missing_mandatory_parameter_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/missing_mandatory_parameter_cause_test.cc" ]
  }

  rtc_cc_test("no_user_data_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/no_user_data_cause_test.cc" ]
  }

  rtc_cc_test("out_of_resource_error_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/out_of_resource_error_cause_test.cc" ]
  }

  rtc_cc_test("protocol_violation_cause_test") {
    deps = [
      ":error_cause",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/protocol_violation_cause_test.cc" ]
  }

  rtc_cc_test("restart_of_an_association_with_new_address_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [
      "error_cause/restart_of_an_association_with_new_address_cause_test.cc",
    ]
  }

  rtc_cc_test("stale_cookie_error_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/stale_cookie_error_cause_test.cc" ]
  }

  rtc_cc_test("unrecognized_chunk_type_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/unrecognized_chunk_type_cause_test.cc" ]
  }

  rtc_cc_test("unrecognized_parameter_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/unrecognized_parameter_cause_test.cc" ]
  }

  rtc_cc_test("unresolvable_address_cause_test") {
    deps = [
      ":error_cause",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/unresolvable_address_cause_test.cc" ]
  }

  rtc_cc_test("user_initiated_abort_cause_test") {
    deps = [
      ":error_cause",
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "error_cause/user_initiated_abort_cause_test.cc" ]
  }

  rtc_cc_test("add_incoming_streams_request_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/add_incoming_streams_request_parameter_test.cc" ]
  }

  rtc_cc_test("add_outgoing_streams_request_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/add_outgoing_streams_request_parameter_test.cc" ]
  }

  rtc_cc_test("forward_tsn_supported_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/forward_tsn_supported_parameter_test.cc" ]
  }

  rtc_cc_test("incoming_ssn_reset_request_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/incoming_ssn_reset_request_parameter_test.cc" ]
  }

  rtc_cc_test("outgoing_ssn_reset_request_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/outgoing_ssn_reset_request_parameter_test.cc" ]
  }

  rtc_cc_test("parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/parameter_test.cc" ]
  }

  rtc_cc_test("reconfiguration_response_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/reconfiguration_response_parameter_test.cc" ]
  }

  rtc_cc_test("ssn_tsn_reset_request_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../common:internal_types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/ssn_tsn_reset_request_parameter_test.cc" ]
  }

  rtc_cc_test("state_cookie_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/state_cookie_parameter_test.cc" ]
  }

  rtc_cc_test("supported_extensions_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/supported_extensions_parameter_test.cc" ]
  }

  rtc_cc_test("zero_checksum_acceptable_chunk_parameter_test") {
    deps = [
      ":parameter",
      "../../../test:test_support",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "parameter/zero_checksum_acceptable_chunk_parameter_test.cc" ]
  }

  rtc_cc_test("sctp_packet_test") {
    deps = [
      ":chunk",
      ":error_cause",
      ":parameter",
      ":sctp_packet",
      "../../../test:test_support",
      "../common:internal_types",
      "../common:math",
      "../public:types",
      "../testing:testing_macros",
    ]
    sources = [ "sctp_packet_test.cc" ]
  }

  rtc_cc_test("tlv_trait_test") {
    deps = [
      ":bounded_io",
      ":tlv_trait",
      "../../../test:test_support",
    ]
    sources = [ "tlv_trait_test.cc" ]
  }
}
