webrtc/pc/g3doc/sctp_transport.md
Artem Titov a617867a45 Reland "Migrate WebRTC documentation to new renderer"
This reverts commit 0f2ce5cc1c.

Reason for revert: Downstream infrastructure should be ready now

Original change's description:
> Revert "Migrate WebRTC documentation to new renderer"
>
> This reverts commit 3eceaf4669.
>
> Reason for revert:
>
> Original change's description:
> > Migrate WebRTC documentation to new renderer
> >
> > Bug: b/258408932
> > Change-Id: Ib96f39fe0c3912f9746bcc09d079097a145d6115
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290987
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Artem Titov <titovartem@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#39205}
>
> Bug: b/258408932
> Change-Id: I16cb4088bee3fc15c2bb88bd692c592b3a7db9fe
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291560
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Owners-Override: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39209}

Bug: b/258408932
Change-Id: Ia172e4a6ad1cc7953b48eed08776e9d1e44eb074
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291660
Owners-Override: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39231}
2023-01-31 09:30:04 +00:00

1.9 KiB

SctpTransport

webrtc::SctpTransport

The webrtc::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.

The public interface (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 owns two objects: The SCTP association object and the DTLS transport, which is the object used to send and receive messages as emitted from or consumed by the sctp library.

It communicates state changes and events using sigslot.

See header files for details.