Skip to content

lsquic_conn_going_away() on h3 client connection does not send GOAWAY #343

@cbodley

Description

@cbodley

i'm having trouble getting an h3 client connection (at LSQVER_I001) to actually send a GOAWAY frame

is this just due to lack of client support for push promise?

/* IETF QUIC push promise does not contain stream ID. This means that, unlike
* in GQUIC, one cannot create a stream immediately and pass it to the client.
* We may have to add a special API for IETF push promises. That's in the
* future: right now, we punt it.
*/
#define CLIENT_PUSH_SUPPORT 0

from the HTTP/3 draft at https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-connection-shutdown:

The GOAWAY frame contains an identifier that indicates to the receiver the range of requests or pushes that were or might be processed in this connection. The server sends a client-initiated bidirectional Stream ID; the client sends a Push ID (Section 4.4). Requests or pushes with the indicated identifier or greater are rejected (Section 4.1.2) by the sender of the GOAWAY. This identifier MAY be zero if no requests or pushes were processed.

that last sentence makes it sound like the client could still be sending a GOAWAY frame with Push ID of 0. has this been considered?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions