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

Add support for WebTransport #43641

Open
scalablecory opened this issue Oct 20, 2020 · 14 comments
Open

Add support for WebTransport #43641

scalablecory opened this issue Oct 20, 2020 · 14 comments
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net.Http
Milestone

Comments

@scalablecory
Copy link
Contributor

With QUIC incoming, WebSockets is being retired in favor of WebTransport. Consider implementing an API for this.

WebSockets may have fallen out of favor versus e.g. gRPC; I don't know enough about the landscape here. @rynowak @davidfowl @JamesNK any idea?

@scalablecory scalablecory added api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net labels Oct 20, 2020
@ghost
Copy link

ghost commented Oct 20, 2020

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

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Oct 20, 2020
@davidfowl
Copy link
Member

cc @BrennanConroy this looks super interesting for signalr.

This document defines a set of ECMAScript APIs in WebIDL to allow data to be sent and received between a browser and server, implementing pluggable protocols underneath with common APIs on top

☺️

@halter73
Copy link
Member

In the browser, gRPC-web client-streaming is still very new. SignalR still uses WebSockets as its primary transport.

@karelz karelz added this to the Future milestone Nov 12, 2020
@karelz karelz removed the untriaged New issue has not been triaged by the area owner label Nov 12, 2020
@wegylexy
Copy link
Contributor

I wish SignalR can take advantage of reliable streams and unreliable datagrams of WebTransport.

@MeydanOzeri
Copy link

any update on that ? is it planned anytime soon ?

@wegylexy
Copy link
Contributor

wegylexy commented Jul 5, 2021

Since the QUIC datagram extension is not yet RFCed, I wouldn't expect it in .NET 6 soon even though msquic already supports it.

@wegylexy
Copy link
Contributor

How possible is it to inject custom transport implementation for non-browser use cases? e.g. replace WebSocket with a QUIC stream to share an existing QUIC connection in another custom service.
I can think of intercepting the Redis backbone.

@davidfowl
Copy link
Member

@wegylexy it's not clear what you're asking for here. Where do you want to replace the transport?

@wegylexy
Copy link
Contributor

@davidfowl in addition to WebSocket, long polling, and server push, I want to add a custom transport by implementing certain interfaces (dependency injection), without baking it into the runtime.

@davidfowl
Copy link
Member

@davidfowl in addition to WebSocket, long polling, and server push, I want to add a custom transport by implementing certain interfaces (dependency injection), without baking it into the runtime.

But what does that mean? Add a custom transport to what? Are you talking about SignalR?

@wegylexy
Copy link
Contributor

Oh, ya. Didn't notice the original issue is not scoped to SignalR. Yes, I just want to inject a custom SignalR transport.

@wegylexy
Copy link
Contributor

I figured that I can inject clients from QUIC connections into HubLifetimeManager<> in a custom hosted service via a dedicated stream, without touching internal SignalR transports.

@wegylexy
Copy link
Contributor

wegylexy commented Mar 1, 2022

Let's see how https://github.com/wegylexy/webtransport may be incorporated into the runtime.

@ghost
Copy link

ghost commented Jan 19, 2023

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

Issue Details

With QUIC incoming, WebSockets is being retired in favor of WebTransport. Consider implementing an API for this.

WebSockets may have fallen out of favor versus e.g. gRPC; I don't know enough about the landscape here. @rynowak @davidfowl @JamesNK any idea?

Author: scalablecory
Assignees: -
Labels:

api-suggestion, area-System.Net.Http

Milestone: Future

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-suggestion Early API idea and discussion, it is NOT ready for implementation area-System.Net.Http
Projects
None yet
Development

No branches or pull requests

8 participants