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

kgoodier / CocoaSPDY / 94 / 1
76%
develop: 76%

Build:
DEFAULT BRANCH: develop
Ran 10 Feb 2015 08:27PM UTC
Files 57
Run time 4s
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

10 Feb 2015 08:16PM UTC coverage: 66.572% (+5.5%) from 61.094%
94.1

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.

2575 of 3868 relevant lines covered (66.57%)

52.97 hits per line

Source Files on job 94.1
  • Tree
  • List 0
  • Changed 28
  • Source Changed 9
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 94
  • Travis Job 94.1
  • fc3f7440 on github
  • Prev Job for on develop (#93.1)
  • Next Job for on develop (#97.1)
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