Initial NSURLSessionWebSocketTask skeleton - #762
Conversation
|
While this looks very welcome (I'd definitely like to have it), the NSURLSession code is currently in flux, being changed to make it portable (not depend on clang), so I think we will want to wait a little before attempting to resolve differences and merge. Perhaps look again in a week or two? |
|
@rfm I'll only be able to work on this until the end of August. We should try to get it upstreamed until then, otherwise someone else will have to work on finalizing it. |
|
I'm not against finalising the portability work at the same time as incorporating websocket support, as long as you are ok with reading your work and resolving conflicts. |
2bcdb0b to
518848e
Compare
518848e to
6212d32
Compare
|
@HendrikHuebner there’s a couple errors building this with GCC on Windows CI. I think we need to use macros like |
504982f to
7e05a96
Compare
|
@rfm I'm submitting the remaining commits for the NSURLSessionWebsocketTask later. |
|
Thanks for letting me know. Is the new PR expected to build on this one or replace it? |
|
I think this PR can be closed in favor of #775, but I’ll let @hmelder make that call as he’s taking over the project from @HendrikHuebner. |
Yep this can be closed. |
I have been working on a (mostly complete) implementation of
NSURLSessionWebSocketTaskusing libcurl's websocket API.It's a lot of code (~2500 Additions + tests) and I dare say more complex than the original NSURLSession because of the lifecycle management of the websocket session, so I'm breaking it up into several smaller patches.
One major caveat is that I uncovered bugs in libcurl while working on this (See curl/curl#22413), so it will only be usable with the next curl release. Otherwise users might see internal assertion failures due to curl serving incorrectly chunked WebSocket frames.