WebTransport: createSendGroup() method

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The createSendGroup() method of the WebTransport interface creates and returns a WebTransportSendGroup.

Syntax

js
createSendGroup()

Parameters

None.

Return value

A WebTransportSendGroup object.

Exceptions

InvalidStateError DOMException

Thrown if the transport's state is "closed" or "failed".

Description

The createSendGroup() method creates a new WebTransportSendGroup associated with the WebTransport object on which it is called.

The WebTransportSendGroup object is used to group streams and/or datagrams created on the same WebTransport, to control their relative priority for sending queued bytes. Within the same group, bytes on higher-priority streams and datagrams are sent before bytes from lower-priority ones.

The returned WebTransportSendGroup is not initially associated with any streams or datagrams. You can associate it with a WebTransportDatagramsWritable or WebTransportSendStream object in a couple of different ways:

Different groups are expected to be treated as equals for the purposes of bandwidth allocation — though the precise way bandwidth is divided between groups is implementation-defined.

Examples

Basic usage

This example creates a send group, then associates a unidirectional stream and the connection's outgoing datagram stream with it, giving each a sendOrder that defines their relative priority.

js
const sendGroup = transport.createSendGroup();

const stream = await transport.createUnidirectionalStream({
  sendGroup,
  sendOrder: 1,
});

// Higher sendOrder: queued bytes on this stream are sent first
const datagrams = transport.datagrams.createWritable({
  sendGroup,
  sendOrder: 2,
});

Specifications

Specification
WebTransport
# dom-webtransport-createsendgroup

Browser compatibility

See also