• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kgoodier / CocoaSPDY / 94
76%

Build:
DEFAULT BRANCH: develop
Ran 10 Feb 2015 08:27PM UTC
Jobs 1
Files 57
Run time 5s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
94

Pull #7

travis-ci

kgoodier
Support for server push streams.

New methods in SPDYStream for creating and starting pushed streams.
Clones the associated stream, particularly its delegate and original
request. Once new headers come in, creates a new NSURLRequest based off
original but with new values as appropriate.

The push stream manager is a per-origin cache of currently open push
streams. It serves as the URLProtocolClient in order to buffer lifetime
events like the response, data chunks, and finalization. New requests
coming from the app are checked against this cache, matching the
canonical URL. If a match is found, the stream is removed from the push
cache and appropriate URLProtocolClient catch-up callbacks are made.

The cache also maintains a mapping of associated stream to push streams.
If the original (associated) stream is cancelled, all unclaimed, in-
progress push streams are cancelled. The only way to cancel a single in-
progress push stream is to start a new NSURLRequest to hook it up to the
push stream, then cancel it.

Refactor stream cancel/close code. Error cases like receiving headers
with an invalid status code should send a reset frame with a protocol
error indicated, but previously the code was only closing the stream
locally. Those have been fixed, and the steps needed to properly end a
stream have been cleaned up.

The session test code has been refactored into a base class, also in
prep for server push changes coming.

Remaining work:
- NSNotification when a push stream is received.
- Allow cancelling push stream from NSNotification handler.
- Private NSURLCache for unclaimed push streams, for life of session.
- Mock integration tests for end-to-end experience.
- Testing with actual server.

Work inspired by @layerhq's push stream pull request. Big thanks to
@blakewatters and @chipxsd.
Pull Request #7: Support for server push streams.

308 of 308 new or added lines in 10 files covered. (100.0%)

2575 of 3868 relevant lines covered (66.57%)

52.97 hits per line

Jobs
ID Job ID Ran Files Coverage
1 94.1 10 Feb 2015 08:27PM UTC 0
66.57
Travis Job 94.1
Source Files on build 94
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #94
  • Pull Request #7
  • PR Base - develop (#93)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc