You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have decided to (pretty much) rewrite CornucopiaStreams – the major reason being me and Swift having changed quite a bit over the last two years.
With 2.0, I'm trying to achieve two things – lifecycle and async correctness:
Lifecycle correctness: In 1.0, CornucopiaStreams was still active after the connection was established. It held some references and to cleanup correctly, you would have to notify CornucopiaStreams after you were done with your stream usage. In 2.0, I have shifted CornucopiaStreams to be much more of a broker, hence it pretty much moves away once the connection has been established.
Async correctness: The whole framework is now based around Swift asynchronous connect call. Since many of the connectors do their work inherently asynchronously, this matches the problem domain much better. Moreover, cancelling now works correctly and there are no more memory leaks.
While 1.0 was implemented as an extension on Foundation's Stream, it felt more natural to move it into its own namespace. Therefore, an API change was inevitable. The last version of 1.0 is still available on the legacy branch.
The text was updated successfully, but these errors were encountered:
I have decided to (pretty much) rewrite CornucopiaStreams – the major reason being me and Swift having changed quite a bit over the last two years.
With 2.0, I'm trying to achieve two things – lifecycle and async correctness:
connect
call. Since many of the connectors do their work inherently asynchronously, this matches the problem domain much better. Moreover, cancelling now works correctly and there are no more memory leaks.While 1.0 was implemented as an extension on Foundation's
Stream
, it felt more natural to move it into its own namespace. Therefore, an API change was inevitable. The last version of 1.0 is still available on thelegacy
branch.The text was updated successfully, but these errors were encountered: