Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Receiving data before transports are constructed #15

Open
steveanton opened this issue Jun 13, 2018 · 1 comment
Open

Receiving data before transports are constructed #15

steveanton opened this issue Jun 13, 2018 · 1 comment
Labels

Comments

@steveanton
Copy link
Collaborator

Once gather() and start() have been called on the RTCIceTransport, it will begin to establish connections. What happens if application data is received on the selected connection before a transport has been connected to it (e.g., via an RTCQuicTransport or RTCDtlsTransport constructor)?

The simplest option would be to drop the packets.

Alternatively, the ICE transport could buffer a small amount of incoming data (e.g., enough for a QUIC handshake).

@aboba
Copy link
Contributor

aboba commented Jun 14, 2018

Prior to calling start(), the RTCIceTransport can receive connectivity checks but won't be able to respond since the role has not been determined yet.

After calling start(), the RTCIceTransport responds to incoming connectivity checks, and can also send outgoing checks. Once it responds successfully to an incoming connectivity check, the remote peer can start QUIC or DTLS negotiation (e.g. as a result of calling start(remoteParameters)).

Both of these issues can be addressed with a small buffer. One case in which this might be useful is forking (e.g. the local peer constructed a RTCDtlsTransport or RTCQuicTransport, but not one for the fork receiving the incoming data).

@aboba aboba added the question label Jun 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants