Closed
Bug 1790408
Opened 2 years ago
Closed 2 years ago
IPDL bridge for WebTransport features
Categories
(Core :: Networking, task, P2)
Core
Networking
Tracking
()
RESOLVED
FIXED
People
(Reporter: kershaw, Assigned: jesup)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
We will implement two IPDLs below.
async protocol PWebTransport
{
manager PBackground;
parent:
// Forward methods corresponding to methods on nsIWebTransport
async AsyncConnect(nsIURI aURI,
OriginAttributes aOriginAttributes);
async GetStats() returns (WebTransportStats aStats);
async CloseSession(uint32_t aErrorCode, nsCString aReason);
async SendDatagram(nsCString aMsg);
child:
// Forward notifications corresponding to the WebTransportSessionEventListener interface
async OnSessionReady(uint64_t aSessionId);
async OnSessionClosed(uint32_t aErrorCode,
nsCString aReason);
// When a new datagram has been received.
async OnDatagramReceived(nsCString aDatagram);
both:
// Send a message to create a PWebTransportStream
// StreamType is either uini or bidi.
async PWebTransportStream(uint64_t? aStreamId, StreamType aType);
};
async protocol PWebTransportStream
{
manager PWebTransport;
parent:
// Cancel the creation of this stream.
async Cancel();
async Write(nsCString aData) returns (nsresult aResult);
async Read(uint32_t aMaxBytes) returns (nsCString aData, nsresult aResult);
async GetReceiveStreamStats() returns (WebTransportReceiveStreamStats aStats);
async GetSendStreamStats() returns (WebTransportSendStreamStats aStats);
async SendFin();
async SendStopSending(uint8_t aErrorCode);
async Reset(uint8_t aErrorCode);
child:
// When a stream is opened successfully.
async OnOutgoingStreamReady(uint64_t aStreamId);
async OnResetStreamReceived(in uint8_t aError);
async OnStopSendingReceived(in uint8_t aError);
// When we failed to open this stream.
async OnStreamOpenError(uint8_t aError);
};
Reporter | ||
Comment 1•2 years ago
|
||
This will be done as a part of implementing Web API.
Assignee | ||
Comment 2•2 years ago
|
||
We'll probably use a top-level protocol with sub-protocols for each stream
Assignee: nobody → rjesup
Assignee | ||
Updated•2 years ago
|
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•