clj-commons / aleph

Asynchronous streaming communication for Clojure - web server, web client, and raw TCP/UDP
http://aleph.io
MIT License
2.54k stars 241 forks source link

error handling: edge cases #658

Closed arnaudgeiser closed 1 year ago

arnaudgeiser commented 1 year ago

The error-handling branch contains a lot of changes we are not really comfortable with to safely integrate them on master. Still, this branch contains some unit tests that are valuable.

Instead of trying to rebase this branch on top of master, I decided to start from the unit tests and add the fixes for the tests that were failing. Here is how I end up with this PR.

As a reminder, here is what @kachayev intended to address :

Some bits of those issues were fixed on various PR over last year. This PR brings only some improvements on the following topics:

I would propose to merge this PR and close this one : https://github.com/clj-commons/aleph/pull/553

arnaudgeiser commented 1 year ago

Rebased on master, no changes.

arnaudgeiser commented 1 year ago

On my side, I consider this ready. Ignore the last commit as it's part of another PR for tests stabilization [1]

[1] : https://github.com/clj-commons/aleph/pull/661

KingMob commented 1 year ago

See my comment in the other PR about using port 0 for simpler, safer randomization.

arnaudgeiser commented 1 year ago

Comments addressed. Having a look at the diff might be simpler than looking at the last commit.

arnaudgeiser commented 1 year ago

I will rebase when the PR has been Approved (+ resolve conflicts and revert the changes to TCP/UDP tests)

KingMob commented 1 year ago

Merge when ready 👍🏻