Skip to content

QUIC: SHUTDOWN_INITIATED_BY_TRANSPORT on connection should not result in QuicOperationAbortedException #55157

@geoffkizer

Description

@geoffkizer

SHUTDOWN_INITIATED_BY_TRANSPORT can indicate a variety of different errors, including stateless reset or a QUIC protocol error. It's determined locally by MsQuic (hence the name).

Currently, if we receive SHUTDOWN_INITIATED_BY_TRANSPORT from MsQuic, we generate a QuicOperationAbortedException for any attempted operations on the connection (e.g. AcceptStreamAsync).

This seems like the wrong exception. QuicOperationAbortedException is intended to mean that the local user closed the connection, and thus the outstanding operation was aborted as a result.

We could use QuicConnectionAbortedException here, except that this requires an error code, and is intended for cases where the peer explicitly closed the connection, so it doesn't seem ideal.

We probably need a new exception type for this. And we may want to distinguish different error cases within this.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions