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

Client active requests and disconnection #66

Open
gavin-norman-sociomantic opened this issue Jul 17, 2017 · 0 comments
Open

Client active requests and disconnection #66

gavin-norman-sociomantic opened this issue Jul 17, 2017 · 0 comments
Labels

Comments

@gavin-norman-sociomantic

The node cancels all requests in a connection's RequestSet, when the connection is shut down (see

// super.shutdownImpl will only shutdown requests registered for
// receiving or sending. There may also be requests that are registered
// for neither sending nor receiving which need to be shutdown.
this.request_set.shutdownAll(e);
). (There is no way that the requests can continue operating after the connection is shut down.)

The client should have similar logic, but it is more complicated as the client just has a single RequestSet which is shared by all connections. Thus, the client would need to cancel all requests that are associated with the connection which has been shut down. Most of the time, these will be registered with the connection for sending or receiving, so are easy to spot. However, it's also possible for a request to be in a state where it's waiting for some other event to occur (e.g. the user to call resume() on its controller). There is currently no way to detect requests in this state and cancel them properly if a connection is shut down.

How exactly this would need to work varies by request type:

  • For all-nodes requests this is obvious: each request-on-conn is tied to single connection.
  • Single-node and round-robin request-on-conns may switch between connections over their lifetime. We'd have to track which requests were using which connection in order to be able to cancel them.
@gavin-norman-sociomantic gavin-norman-sociomantic added this to the v4.7.0 milestone Jan 19, 2018
@gavin-norman-sociomantic gavin-norman-sociomantic modified the milestones: v5.4.0, v5.5.0 Dec 20, 2018
@Geod24 Geod24 removed this from the v5.5.0 milestone Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants