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

HTTP/2-based provider protocol #278

Merged
merged 245 commits into from
Sep 21, 2016
Merged

HTTP/2-based provider protocol #278

merged 245 commits into from
Sep 21, 2016

Conversation

argon
Copy link
Collaborator

@argon argon commented Jun 17, 2015

In WWDC15 Session 720, a new provider protocol was introducted based on HTTP/2. This branch will implement the new support.

  • HTTP/2 Notification sending
  • Topic Support
  • Multiple Connections
    • Round robin connections
  • Mock interface
  • shutdown
  • Error handling
    • Wrap errors

I will move this work to separate PR's

  • Rewrite documentation
    • Sample code
  • Prepare API for new authentication method (JWT)

Fixes #362, #277, #240, #168

Most of this was untested. Some tests have been disabled as they directly relate to the old protocol. Next step is to selectively refactor them around HTTP/2. There's no docs yet so I'm basing this on the info in Session 720 at WWDC'15
I don't know why Sublime didnt format it this way
@argon argon changed the title [WIP] HTTP/2-based provider protocol 🚧 [WIP] HTTP/2-based provider protocol :con Jun 17, 2015
@argon argon changed the title [WIP] HTTP/2-based provider protocol :con [WIP] HTTP/2-based provider protocol 🚧 Jun 17, 2015
@argon argon changed the title [WIP] HTTP/2-based provider protocol 🚧 [WIP] HTTP/2-based provider protocol 🚧 Jun 17, 2015
argon added 20 commits June 20, 2015 01:20
In the new protocol it would seem that there is no special distinction
for VoIP payloads. Everything is the same length.
With the new protocol there should be no need to resend notifications
as the connection remains open in the event of any errors.
With HTTP/2 it should only be necessary to keep one connection open as
there will be no frequent reconnects to slow things down. If multiple
are needed then the behaviour can be reintroduced after the basics are
working.
node-http2 requires streams, anything less than 0.10 won't do
@jorisvervuurt
Copy link

FYI:
The HTTP/2 APNs provider API is now up-and running.
Documentation can be found here:
https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html#//apple_ref/doc/uid/TP40008194-CH101-SW1

Any ETA as to when we can expect a first version that supports it? :)

Bluebird is generally considered to be the most performant promises
library available
It's tidier than importing each function individually.
Otherwise endpointManager might not continue sending
I guess I know why I use Transform not PassThrough now.
It's unnecessary complexity...
@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling fac557f on http2 into 805e0c0 on develop.

@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling fac557f on http2 into 805e0c0 on develop.

@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling bb6ad72 on http2 into 805e0c0 on develop.

@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 9d9c3c9 on http2 into 805e0c0 on develop.

@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 3a01589 on http2 into 805e0c0 on develop.

@argon argon changed the title [WIP] HTTP/2-based provider protocol 🚧 HTTP/2-based provider protocol Sep 21, 2016
@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling ecb79a8 on http2 into 805e0c0 on develop.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling ecb79a8 on http2 into 805e0c0 on develop.

@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling f2ab8a5 on http2 into 805e0c0 on develop.

@coveralls
Copy link

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 319dc6f on http2 into 805e0c0 on develop.

2 similar comments
@coveralls
Copy link

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 319dc6f on http2 into 805e0c0 on develop.

@coveralls
Copy link

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 319dc6f on http2 into 805e0c0 on develop.

Ensure it's not stretched and lighten the text a little. Also centre
again because it looks nicer now
@coveralls
Copy link

coveralls commented Sep 21, 2016

Coverage Status

Coverage increased (+37.9%) to 100.0% when pulling 05594bf on http2 into 805e0c0 on develop.

@argon argon merged commit 607b14d into develop Sep 21, 2016
@argon argon deleted the http2 branch September 21, 2016 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants