Tommi 492296cc3c Remove the SctpDataChannel::config_ member variable.
Instead there are direct member variables for the various relevant
states, some weren't needed, some can be const but the `id` member
in particular needs special handling and can't be const.

For dealing with the stream id, we now have SctpSid. A class that does range validation, checks thread safety, handles the special `-1` case (for what's essentially an unsigned 16 bit int). Using a special type
for this also has the effect that range checking happens more
consistently (although I'm not modifying the structs in api/).
With upcoming steps of avoiding thread hops, the ID may need to
migrate to the network thread, which the thread checks will help with.

Along the way, update SctpSidAllocator to use flat_set instead of std::set and moving some of the sctp data channel code to the cc file
to help with more accurately tracking code coverage.

Bug: webrtc:11547
Change-Id: Iea6e7647ab8f93052044c5afbcc449115206b4e9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296444
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39539}
2023-03-12 17:28:14 +00:00

27 lines
540 B
Python

include_rules = [
"+third_party/libsrtp",
"+call",
"+common_video",
"+logging/rtc_event_log",
"+logging/rtc_event_log",
"+media",
"+modules/audio_device",
"+modules/audio_processing",
"+modules/congestion_controller",
"+modules/rtp_rtcp",
"+modules/video_coding",
"+modules/video_render",
"+net/dcsctp",
"+p2p",
"+system_wrappers",
]
specific_include_rules = {
"androidtestinitializer\.cc": [
"+base/android", # Allowed only for Android tests.
],
"srtpfilter_unittest\.cc": [
"+crypto",
],
}