Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions pkg/moqt/session/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,15 +98,12 @@ func (p StreamPriority) Less(q StreamPriority) bool {
// far as its transport allows.
//
// Callers SHOULD type-assert a [SendStream] to this interface and call
// SetSendPriority when available; adapters that don't satisfy the interface
// silently fall back to whatever scheduling the transport offers by
// default. None of the bundled adapters (quicconn, wtconn, sessiontest)
// currently implement this interface — quic-go does not expose a public
// per-stream priority API yet (tracked upstream at
// https://github.com/quic-go/quic-go/issues/437), and webtransport-go's
// HTTP/3 layer follows suit. The relay still pushes the full §7.2 priority
// through this interface so the day the transports add the knob, it lights up
// without further changes.
// SetSendPriority when available; adapters that don't satisfy it silently fall
// back to the transport's default scheduling. None of the bundled adapters
// (quicconn, wtconn, sessiontest) implement it yet — quic-go exposes no public
// per-stream priority API (quic-go#437) and webtransport-go follows suit — but
// the relay pushes the full §7.2 priority through anyway so it lights up once a
// transport adds the knob.
type PrioritizedSendStream interface {
// SetSendPriority sets the transport-level scheduling priority for
// this stream. It is safe to call repeatedly during the stream's
Expand Down
3 changes: 1 addition & 2 deletions pkg/moqt/session/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,7 @@ func (s *Session) AcceptRequest(ctx context.Context) (*Request, error) {

// resetStream resets both directions of a bidi request stream with
// StreamResetInternalError (§3.3.3) — the common teardown when a request stream
// is abandoned mid-parse or fails §10.1 validation. (Add a code-taking variant
// if a future caller needs to reset with a different code.)
// is abandoned mid-parse or fails §10.1 validation.
func resetStream(s Stream) {
s.CancelRead(uint64(moqt.StreamResetInternalError))
s.CancelWrite(uint64(moqt.StreamResetInternalError))
Expand Down
3 changes: 1 addition & 2 deletions pkg/moqt/wire/varint.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,7 @@ func ReadVarint(r io.ByteReader) (uint64, error) {
}

// NewByteReader adapts an io.Reader to io.ByteReader by reading a single byte
// per call, with no buffering or look-ahead. It mirrors the contract callers
// previously relied on from quicvarint.NewReader, so a varint read leaves the
// per call, with no buffering or look-ahead, so a varint read leaves the
// underlying reader positioned exactly after the varint.
func NewByteReader(r io.Reader) io.ByteReader {
if br, ok := r.(io.ByteReader); ok {
Expand Down