* [NOD-1120] Separate flow registration and running
* [NOD-1120] Extract executeFunc to separate function
* [NOD-1120] Move the registration of flows out of goroutine
* [NOD-1120] Return after handleError
* [NOD-1120] Rename: addXXXFlow -> registerXXXFlow
* Rename: stop -> errChan
* [NOD-1120] Fix name of goroutine
* [NOD-1194] Make error handling more centralized, and ignore ErrRouteClosed
* [NOD-1194] Ignore ErrRouteClosed in connection_loops as well
* [NOD-1194] Enhance comment
* [NOD-1194] Return after any HandleError
* [NOD-1194] Rephrased comment
* [NOD-1079] Fix block rejects over "Already have block" (#783)
* [NOD-1079] Return regular error instead of ruleError on already-have-block in ProcessBlock.
* [NOD-1079] Fix bad implementation of IsSelectedTipKnown.
* [NOD-1079] In shouldQueryPeerSelectedTips use selected DAG tip timestamp instead of past median time.
* [NOD-1079] Remove redundant (and possibly buggy) clearing of sm.requestedBlocks.
* [NOD-684] change simnet block rate to block per ms (#782)
* [NOD-684] Get rid of dag.targetTimePerBlock and use finality duration in dag params
* [NOD-684] Fix regtest genesis block
* [NOD-684] Set simnet's TargetTimePerBlock to 1ms
* [NOD-684] Shorten simnet finality duration
* [NOD-684] Change isDAGCurrentMaxDiff to be written as number of blocks
* [NOD-684] Fix NextBlockMinimumTime to be add one millisecond after past median time
* [NOD-1004] Make AddrManager.getAddress use only 1 loop to check all address chances and pick one of them (#741)
* [NOD-1004] Remove code duplication in Good().
* [NOD-1004] Remove some more code duplication in Good().
* [NOD-1004] Remove some more code duplication in Good().
* [NOD-1004] Remove code duplication in GetAddress().
* [NOD-1004] Remove code duplication in updateAddress.
* [NOD-1004] Remove some more code duplication in updateAddress.
* [NOD-1004] Remove redundant check in expireNew.
* [NOD-1004] Remove superfluous existence check from updateAddress.
* [NOD-1004] Make triedBucket use a slice instead of a list.
* [NOD-1004] Remove code duplication in getAddress.
* [NOD-1004] Remove infinite loops out of getAddress.
* [NOD-1004] Made impossible branch panic.
* [NOD-1004] Remove a mystery comment.
* [NOD-1004] Remove an unnecessary sort.
* [NOD-1004] Make AddressKey a type alias.
* [NOD-1004] Added comment for AddressKey
* [NOD-1004] Fix merge errors.
* [NOD-1004] Fix merge errors.
* [NOD-1004] Do some renaming.
* [NOD-1004] Do some more renaming.
* [NOD-1004] Rename AddrManager to AddressManager.
* [NOD-1004] Rename AddrManager to AddressManager.
* [NOD-1004] Do some more renaming.
* [NOD-1004] Rename bucket to addressBucketArray.
* [NOD-1004] Fix a comment.
* [NOD-1004] Rename na to netAddress.
* [NOD-1004] Bring back an existence check.
* [NOD-1004] Fix an error message.
* [NOD-1004] Fix a comment.
* [NOD-1004] Use a boolean instead of -1.
* [NOD-1004] Use a boolean instead of -1 in another place.
Co-authored-by: Mike Zak <feanorr@gmail.com>
* Fix merge errors.
Co-authored-by: Ori Newman <orinewman1@gmail.com>
Co-authored-by: Mike Zak <feanorr@gmail.com>
* [NOD-1162] [FIX] Connection manager should run the moment it adds a request
* [NOD-1162] [FIX] Set peerID on handshake
* [NOD-1162] [FIX] Broadcast should send to outgoing route, not incoming
* [NOD-1162] [FIX] Add CmdInvRelayBlock to MakeEmptyMessage
* [NOD-1162] [FIX] Initialize Hash before decoding MsgInvRelayBlock
* [NOD-1162] [FIX] Invert condition
* [NOD-1162] [FIX] Fixes to encoding of MsgGetRelayBlocks
* [NOD-1162] [FIX] Add MsgGetRelayBlocks to MakeEmptyMessage
* [NOD-1162] Add comment
* [NOD-1170] Return a custom error when a route is closed
* [NOD-1170] Return ErrRouteClosed directly from route methods
* [NOD-1170] Fix comment location
* [NOD-1125] Write a skeleton for starting IBD.
* [NOD-1125] Add WaitForIBDStart to Peer.
* [NOD-1125] Move functions around.
* [NOD-1125] Fix merge errors.
* [NOD-1125] Fix a comment.
* [NOD-1125] Implement sendGetBlockLocator.
* [NOD-1125] Begin implementing findIBDLowHash.
* [NOD-1125] Finish implementing findIBDLowHash.
* [NOD-1125] Rename findIBDLowHash to findHighestSharedBlockHash.
* [NOD-1125] Implement downloadBlocks.
* [NOD-1125] Implement msgIBDBlock.
* [NOD-1125] Implement msgIBDBlock.
* [NOD-1125] Fix message types for HandleIBD.
* [NOD-1125] Write a skeleton for requesting selected tip hashes.
* [NOD-1125] Write a skeleton for the rest of the IBD requests.
* [NOD-1125] Implement HandleGetBlockLocator.
* [NOD-1125] Fix wrong timeout.
* [NOD-1125] Fix compilation error.
* [NOD-1125] Implement HandleGetBlocks.
* [NOD-1125] Fix compilation errors.
* [NOD-1125] Fix merge errors.
* [NOD-1125] Implement selectPeerForIBD.
* [NOD-1125] Implement RequestSelectedTip.
* [NOD-1125] Implement HandleGetSelectedTip.
* [NOD-1125] Make go lint happy.
* [NOD-1125] Add minGetSelectedTipInterval.
* [NOD-1125] Call StartIBDIfRequired where needed.
* [NOD-1125] Fix merge errors.
* [NOD-1125] Remove a redundant line.
* [NOD-1125] Rename shouldContinue to shouldStop.
* [NOD-1125] Lowercasify an error message.
* [NOD-1125] Shuffle statements around in findHighestSharedBlockHash.
* [NOD-1125] Rename hasRecentlyReceivedBlock to isDAGTimeCurrent.
* [NOD-1125] Scope minGetSelectedTipInterval.
* [NOD-1125] Handle an unhandled error.
* [NOD-1125] Use AddUint32 instead of LoadUint32 + StoreUint32.
* [NOD-1125] Use AddUint32 instead of LoadUint32 + StoreUint32.
* [NOD-1125] Use SwapUint32 instead of AddUint32.
* [NOD-1125] Remove error from requestSelectedTips.
* [NOD-1125] Actually stop IBD when it should stop.
* [NOD-1125] Actually stop RequestSelectedTip when it should stop.
* [NOD-1125] Don't ban peers that send us delayed blocks during IBD.
* [NOD-1125] Make unexpected message type messages nicer.
* [NOD-1125] Remove Peer.ready and make HandleHandshake return it to guarantee we never operate on a non-initialized peer.
* [NOD-1125] Remove errors associated with Peer.ready.
* [NOD-1125] Extract maxHashesInMsgIBDBlocks to a const.
* [NOD-1125] Move the ibd package into flows.
* [NOD-1125] Start IBD if required after getting an unknown block inv.
* [NOD-1125] Don't request blocks during relay if we're in the middle of IBD.
* [NOD-1125] Remove AddBlockLocatorHash.
* [NOD-1125] Extract runIBD to a seperate function.
* [NOD-1125] Extract runSelectedTipRequest to a seperate function.
* [NOD-1125] Remove EnqueueWithTimeout.
* [NOD-1125] Increase the capacity of the outgoingRoute.
* [NOD-1125] Fix some bad names.
* [NOD-1125] Fix a comment.
* [NOD-1125] Simplify a comment.
* [NOD-1125] Move WaitFor... functions into their respective run... functions.
* [NOD-1125] Return default values in case of error.
* [NOD-1125] Use CmdXXX in error messages.
* [NOD-1125] Use MaxInvPerMsg in outgoingRouteMaxMessages instead of MaxBlockLocatorsPerMsg.
* [NOD-1125] Fix a comment.
* [NOD-1125] Disconnect a peer that sends us a delayed block during IBD.
* [NOD-1125] Use StoreUint32 instead of SwapUint32.
* [NOD-1125] Add a comment.
* [NOD-1125] Don't ban peers that send us delayed blocks.
* [NOD-1163] Combine seperated flows into single packages
* [NOD-1163] Move handshake.go to handshake package
* [NOD-1163] Use single logger prefix for everything under protocol
* [NOD-1163] Add comment
* [NOD-1163] Fix refactor error