Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUIC] Revisit exceptions in Quic #82262

Closed
4 tasks done
ManickaP opened this issue Feb 16, 2023 · 5 comments
Closed
4 tasks done

[QUIC] Revisit exceptions in Quic #82262

ManickaP opened this issue Feb 16, 2023 · 5 comments
Assignees
Milestone

Comments

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Feb 16, 2023
@ghost
Copy link

ghost commented Feb 16, 2023

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

We have several exception issues cropping up for 8.0:

Author: ManickaP
Assignees: -
Labels:

area-System.Net.Quic

Milestone: -

@ManickaP ManickaP removed the untriaged New issue has not been triaged by the area owner label Feb 16, 2023
@ManickaP ManickaP added this to the 8.0.0 milestone Feb 16, 2023
@antonfirsov
Copy link
Member

It would be also nice to distinguish name resolution errors and define QuicError.HostNotFound so we can have a unified name resolution error case in #76644.

@wfurt
Copy link
Member

wfurt commented Jun 1, 2023

We agreed that we should:

  • throw SocketException for transport problem e.g. for cases like MsQuic AddressInUse, HostUnreachable and InvalidAddress. That generally comes either as user error, host limitation and network conditions. That also covers cases when target name cannot be resolved to address.
  • We will throw AuthenticationException for TLS and certificate related issues - preferably matching SslStream behavior.
  • We will throw QuicException for reasons related to Quic protocol or processing specific to Quic.
  • ArgumentException when supplied parameters or options provided by callback are not valid.
  • OperationCanceledException for cases when processing fail because of cancellation.
  • ObjectDisposedException for cases caused by disposing underlying object(s)

We shall document this in some way. Either reach consensus when dotnet/dotnet-api-docs#7840 is resolved, via remarks section or via examples.

@karelz
Copy link
Member

karelz commented Jul 18, 2023

@wfurt is there anything left here?

@wfurt
Copy link
Member

wfurt commented Jul 18, 2023

While some work related to exceptions remains it is tracked by other issues. We reached agreement on strategy and that fulfills spirit to this issue IMHO

@wfurt wfurt closed this as completed Jul 18, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants