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
{{ message }}
This repository was archived by the owner on Aug 2, 2021. It is now read-only.
The Network is a GOD object therefore must be split into smaller types.
It has 34 public methods ( go doc ./p2p/simulations/.Network | grep func | wc -l) => split
Most of the methods locks the whole Network. => refactor pessimistic locking
Example: If a Node is stopped or started the whole network is blocked as we acquire net.lock.
We should split up Network and introduce a more granular locking with smaller critical (lock protected) areas. Currently, Network is hard to modify and it's hard to see "the big picture".
The text was updated successfully, but these errors were encountered:
The
Network
is a GOD object therefore must be split into smaller types.go doc ./p2p/simulations/.Network | grep func | wc -l
) => splitNetwork
. => refactor pessimistic lockingExample: If a
Node
is stopped or started the whole network is blocked as we acquirenet.lock
.We should split up
Network
and introduce a more granular locking with smaller critical (lock protected) areas. Currently,Network
is hard to modify and it's hard to see "the big picture".The text was updated successfully, but these errors were encountered: