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 a better connection pool #88

Open
sideshow opened this issue Aug 23, 2017 · 1 comment
Open

Add a better connection pool #88

sideshow opened this issue Aug 23, 2017 · 1 comment

Comments

@sideshow
Copy link
Owner

The default golang http2 connection pool is good but lacks some important features which would be useful for the apns2 library:

  • There is currently no way to have a minimum amount of TLS connections open (throughput)
  • There is currently no way to have a maximum amount of TLS connections open (avoids exhausing resources). Similarly there is no way to control when connections are opened or closed.
  • Connections are currently not opened until the first request is sent - There is currently no way to connect before the first push is sent.
  • There is no visibility/stats into how many tcp connections and requests are currently active.
  • There is no ability to control pings an keep connections alive from the pool - See issues how to check health of the connection? #19, add ping pong functionality #45, Added ping functionality #51

Ideally we want to write a custom connection pool to address the above issues. It should have reasonable defaults so that no configuration is needed out of the box, but provide the correct settings to customize for those that are using apns2 at scale.

@c3mb0
Copy link
Contributor

c3mb0 commented Aug 24, 2017

#89 explores some of these requirements, namely:

  • There is currently no way to have a minimum amount of TLS connections open (throughput)
  • Connections are currently not opened until the first request is sent - There is currently no way to connect before the first push is sent.
  • There is no ability to control pings an keep connections alive from the pool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants