Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for issue #69 and issue #91 plus minor networking #92

Merged
merged 5 commits into from
Mar 9, 2018
Merged

Fixes for issue #69 and issue #91 plus minor networking #92

merged 5 commits into from
Mar 9, 2018

Conversation

catbref
Copy link
Collaborator

@catbref catbref commented Mar 9, 2018

No description provided.

Tidying up Network/Peer/Controller/Synchronizer.

Don't consider peers for synchronization that don't yet have ping info.

Add defensive synchronized wrapper when broadcasting to peers.

When shutting down, stop the connection acceptor and connection creator BEFORE
closing connected peers. This stops new [dangling] peers from being created AFTER
existing have been closed.

Improve exception handling in Peer.

Improve logging in Synchronizer.
When synchronizing from a peer that's on a fork, restrict the number of blocks
to receive in one go from that peer.
In Pinger's run() thread, wrap calls to Peer.onPingSuccess and
Peer.onPingFailure in a new thread.

This is to avoid mapdb ClosedByInterruptException issue caused by
calling pinger.interrupt(), which then causes onPingSuccess to fail
when it (eventually) tries a mapdb call.
Also slightly tidy up similar fix in Pinger (issue #91)
@catbref catbref merged commit a2b2b1c into Qoracoin:master Mar 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant