Skip to content

Add support for pinging and timeouts to C++ client #8721

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

Closed
analogrelay opened this issue Mar 21, 2019 · 10 comments
Closed

Add support for pinging and timeouts to C++ client #8721

analogrelay opened this issue Mar 21, 2019 · 10 comments
Assignees
Labels
affected-medium This issue impacts approximately half of our customers area-signalr Includes: SignalR clients and servers enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-client-c++ Related to the SignalR C++ client Priority:1 Work that is critical for the release, but we could probably ship without severity-minor This label is used by an internal tool
Milestone

Comments

@analogrelay
Copy link
Contributor

Epic #8720

  • Sending pings from the client
  • Timing out the server connection based on server activity (pings, etc.)
@analogrelay analogrelay added cost: M area-signalr Includes: SignalR clients and servers feature-client-c++ Related to the SignalR C++ client labels Mar 21, 2019
@analogrelay analogrelay added this to the 3.0.0-preview6 milestone Mar 21, 2019
@analogrelay analogrelay added the enhancement This issue represents an ask for new feature or an enhancement to an existing one label May 7, 2019
@analogrelay analogrelay modified the milestones: 3.0.0-preview7, Backlog May 30, 2019
@analogrelay analogrelay modified the milestones: Backlog, 5.0.0 Aug 6, 2019
@BrennanConroy BrennanConroy self-assigned this Jun 1, 2020
@BrennanConroy BrennanConroy modified the milestones: 5.0.0, 5.0.0-preview7 Jun 8, 2020
@ghost
Copy link

ghost commented Aug 26, 2020

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

@pranavkm pranavkm removed the cost: M label Nov 6, 2020
@BrennanConroy BrennanConroy added affected-medium This issue impacts approximately half of our customers severity-minor This label is used by an internal tool labels Nov 11, 2020 — with ASP.NET Core Issue Ranking
@ghost
Copy link

ghost commented Mar 30, 2021

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. Because it's not immediately obvious that this is a bug in our framework, we would like to keep this around to collect more feedback, which can later help us determine the impact of it. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@grahambunce
Copy link

@BrennanConroy Can I ask what this refers to? The .NET client sends a hearbeat that can be intercepted on the server so that the client can be indicated as "alive" by server side logic.

Does this suggest that this feature does not exist in the C++ client (i.e. it will not send the keep alive for a WebSocket connection?)

@BrennanConroy
Copy link
Member

This is referring to https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/HubProtocol.md#ping-aka-keep-alive, which is not implemented for the C++ client currently.

@grahambunce
Copy link

Thanks. Can I ask why this has been bumped to .net 7? It seems pretty important for any client to keep the connection alive. One of the benefits of the .net client is that it does this automatically, indicates via events when connections are dropped and has automatic reconnection logic.

@BrennanConroy
Copy link
Member

Can I ask why this has been bumped to .net 7?

Because the client is still a work in progress.

@grahambunce
Copy link

Understood. I know the client is still alpha (beta?) but we’re looking to use it right now in an IOT environment instead of wrapping the .net client itself (main app is C++/QT). It is likely that missing parity features (such as this) will be added outside the .net release cycle?

Just trying to decide on the best options for us.

@BrennanConroy
Copy link
Member

It is likely that missing parity features (such as this) will be added outside the .net release cycle?

Yes, the project "ships" from a different repo. You can either consume it from source (so get changes as they come in or whenever you want them), or wait for us to update vcpkg with a newer commit (happens occasionally after a batch of changes go in). .NET 7 doesn't really have a meaning to the C++ client, it's just how we track things in this repo.

@grahambunce
Copy link

Ok, thank you

@rafikiassumani-msft rafikiassumani-msft added the Priority:1 Work that is critical for the release, but we could probably ship without label Feb 10, 2022
@BrennanConroy
Copy link
Member

Done via aspnet/SignalR-Client-Cpp#77

@ghost ghost locked as resolved and limited conversation to collaborators Apr 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affected-medium This issue impacts approximately half of our customers area-signalr Includes: SignalR clients and servers enhancement This issue represents an ask for new feature or an enhancement to an existing one feature-client-c++ Related to the SignalR C++ client Priority:1 Work that is critical for the release, but we could probably ship without severity-minor This label is used by an internal tool
Projects
None yet
Development

No branches or pull requests

5 participants