Document SctpTransport
This also creates a g3doc directory under pc/ Bug: webrtc:12552 Change-Id: I0913c88831658776a0f02174b57b539ac85b4a9f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215077 Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33718}
This commit is contained in:

committed by
Commit Bot

parent
1d2d169791
commit
77d73a62d5
@ -8,8 +8,9 @@
|
||||
* Network
|
||||
* [ICE](/p2p/g3doc/ice.md)
|
||||
* STUN
|
||||
* DTLS
|
||||
* TURN
|
||||
* DTLS
|
||||
* [SCTP](/pc/g3doc/sctp_transport.md)
|
||||
* Congestion control and bandwidth estimation
|
||||
* Audio
|
||||
* AudioEngine
|
||||
|
44
pc/g3doc/sctp_transport.md
Normal file
44
pc/g3doc/sctp_transport.md
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
<?% config.freshness.reviewed = '2021-04-13' %?>
|
||||
<?% config.freshness.owner = 'hta' %?>
|
||||
|
||||
# SctpTransport
|
||||
|
||||
## webrtc::SctpTransport
|
||||
|
||||
The [`webrtc::SctpTransport`](https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/pc/sctp_transport.h;l=33?q=class%20webrtc::SctpTransport) class encapsulates an SCTP association, and exposes a
|
||||
few properties of this association to the WebRTC user (such as Chrome).
|
||||
|
||||
The SctpTransport is used to support Datachannels, as described in the [WebRTC
|
||||
specification for the Peer-to-peer Data
|
||||
API](https://w3c.github.io/webrtc-pc/#peer-to-peer-data-api).
|
||||
|
||||
The public interface ([`webrtc::SctpTransportInterface`](https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/api/sctp_transport_interface.h?q=webrtc::SctpTransportInterface)) exposes an observer
|
||||
interface where the user can define a callback to be called whenever the state
|
||||
of an SctpTransport changes; this callback is called on the network thread (as
|
||||
set during PeerConnectionFactory initialization).
|
||||
|
||||
The implementation of this object lives in pc/sctp_transport.{h,cc}, and is
|
||||
basically a wrapper around a `cricket::SctpTransportInternal`, hiding its
|
||||
implementation details and APIs that shoudldn't be accessed from the user.
|
||||
|
||||
The `webrtc::SctpTransport` is a ref counted object; it should be regarded
|
||||
as owned by the PeerConnection, and will be closed when the PeerConnection
|
||||
closes, but the object itself may survive longer than the PeerConnection.
|
||||
|
||||
## cricket::SctpTransportInternal
|
||||
|
||||
[`cricket::SctpTransportInternal`](https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/media/sctp/sctp_transport_internal.h?q=cricket::SctpTransportInternal) owns two objects: The SCTP association object (currently
|
||||
implemented by wrapping the usrsctp library) and the DTLS transport, which is
|
||||
the object used to send and receive messages as emitted from or consumed by the
|
||||
usrsctp library.
|
||||
|
||||
It communicates state changes and events using sigslot.
|
||||
|
||||
See header files for details.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user