aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Introduce -dustrelayfeeAlex Morcos2017-01-161-0/+11
| | |
| * | Introduce -incrementalrelayfeeAlex Morcos2017-01-161-1/+16
| | |
| * | Introduce -blockmintxfeeAlex Morcos2017-01-041-0/+10
| | |
* | | Add pruneblockchain RPC to enable manual block file pruning.mrbandrews2017-01-101-6/+10
| |/ |/|
* | Merge #9408: Allow shutdown during LoadMempool, dump only when necessaryPieter Wuille2017-01-061-1/+4
|\ \ | | | | | | | | | | | | 325e400 [Qt] Do proper shutdown (Jonas Schnelli) 9479f8d Allow shutdown during LoadMempool, dump only when necessary (Jonas Schnelli)
| * | Allow shutdown during LoadMempool, dump only when necessaryJonas Schnelli2016-12-231-1/+4
| | |
* | | Merge #9319: Break addnode out from the outbound connection limits.Pieter Wuille2017-01-061-4/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | 032ba3f RPC help documentation for addnode peerinfo. (Gregory Maxwell) 90f13e1 Add release notes for addnode changes. (Gregory Maxwell) 50bd12c Break addnode out from the outbound connection limits. (Gregory Maxwell)
| * | | Break addnode out from the outbound connection limits.Gregory Maxwell2017-01-051-4/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously addnodes were in competition with outbound connections for access to the eight outbound slots. One result of this is that frequently a node with several addnode configured peers would end up connected to none of them, because while the addnode loop was in its two minute sleep the automatic connection logic would fill any free slots with random peers. This is particularly unwelcome to users trying to maintain links to specific nodes for fast block relay or purposes. Another result is that a group of nine or more nodes which are have addnode configured towards each other can become partitioned from the public network. This commit introduces a new limit of eight connections just for addnode peers which is not subject to any of the other connection limitations (including maxconnections). The choice of eight is sufficient so that under no condition would a user find themselves connected to fewer addnoded peers than previously. It is also low enough that users who are confused about the significance of more connections and have gotten too copy-and-paste happy will not consume more than twice the slot usage of a typical user. Any additional load on the network resulting from this will likely be offset by a reduction in users applying even more wasteful workaround for the prior behavior. The retry delays are reduced to avoid nodes sitting around without their added peers up, but are still sufficient to prevent overly aggressive repeated connections. The reduced delays also make the system much more responsive to the addnode RPC. Ban-disconnects are also exempted for peers added via addnode since the outbound addnode logic ignores bans. Previously it would ban an addnode then immediately reconnect to it. A minor change was also made to CSemaphoreGrant so that it is possible to re-acquire via an object whos grant was moved.
* | | Merge #8610: Share unused mempool memory with coincachePieter Wuille2017-01-051-1/+2
|\ \ \ | |/ / |/| | | | | ba3cecf Share unused mempool memory with coincache (Pieter Wuille)
| * | Share unused mempool memory with coincachePieter Wuille2016-12-221-1/+2
| |/ | | | | | | | | | | | | | | | | If the mempool is not completely full, treat the difference between the maximum size and the actual usage as available for the coin cache. This also changes the early flush trigger from (usage > 0.9 * space) to (usage > 0.9 * space && usage > space - 100MB). This means we're not permanently leaving 10% of the space unused when the space is large.
* | Merge #9401: Make rpcauth help message clearer, add example in example .confMarcoFalke2017-01-041-1/+1
|\ \ | | | | | | | | | 0513c70 Make rpcauth help message clearer, add example in example .conf (Gregory Sanders)
| * | Make rpcauth help message clearer, add example in example .confGregory Sanders2016-12-211-1/+1
| |/
* | Merge #9289: net: drop boost::thread_groupWladimir J. van der Laan2017-01-041-1/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 67ee4ec net: misc header cleanups (Cory Fields) 8b3159e net: make proxy receives interruptible (Cory Fields) 5cb0fce net: remove thread_interrupted catch (Cory Fields) d3d7056 net: make net processing interruptible (Cory Fields) 0985052 net: make net interruptible (Cory Fields) 799df91 net: add CThreadInterrupt and InterruptibleSleep (Cory Fields) 7325b15 net: a few small cleanups before replacing boost threads (Cory Fields)
| * | net: make net interruptibleCory Fields2017-01-031-1/+3
| | | | | | | | | | | | | | | Also now that net threads are interruptible, switch them to use std threads/binds/mutexes/condvars.
* | | Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-311-1/+1
|/ / | | | | | | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* | Un-expose mapArgs from utils.hMatt Corallo2016-12-241-2/+2
| |
* | Get rid of mapArgs direct access in ZMQ constructionMatt Corallo2016-12-241-1/+1
| |
* | Introduce (and use) an IsArgSet accessor methodMatt Corallo2016-12-231-10/+10
| |
* | Fix non-const mapMultiArgs[] access after init.Matt Corallo2016-12-231-26/+34
|/ | | | | Swap mapMultiArgs for a const-reference to a _mapMultiArgs which is only accessed in util.cpp
* Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT ↵Wladimir J. van der Laan2016-12-191-0/+1
|\ | | | | | | | | | | | | | | runawayException use GetWarnings 749be01 Move GetWarnings() into its own file. (Gregory Maxwell) e3ba0ef Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell) c63198f Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
| * Move GetWarnings() into its own file.Gregory Maxwell2016-12-031-0/+1
| |
* | Merge #9322: [qa] Don't set unknown rpcserialversionWladimir J. van der Laan2016-12-151-1/+4
|\ \ | | | | | | | | | | | | fa615d3 [qa] Don't set unknown rpcserialversion (MarcoFalke) 80d073c Complain when unknown rpcserialversion is specified (Pieter Wuille)
| * | Complain when unknown rpcserialversion is specifiedPieter Wuille2016-12-051-1/+4
| | |
* | | Merge #8895: Better SigCache ImplementationPieter Wuille2016-12-141-0/+2
|\ \ \ | |/ / |/| | | | | | | | 67dac4e Add unit tests for the CuckooCache (Jeremy Rubin) c9e69fb Add CuckooCache implementation and replace the sigcache map_type with it (Jeremy Rubin)
| * | Add CuckooCache implementation and replace the sigcache map_type with itJeremy Rubin2016-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | SQUASHME: Change cuckoocache to only work for powers of two, to avoid mod operator SQUASHME: Update Documentation and simplify logarithm logic SQUASHME: OSX Build Errors SQUASHME: minor Feedback from sipa + bluematt SQUASHME: DOCONLY: Clarify a few comments.
* | | Add option to return non-segwit serialization via rpcGregory Sanders2016-12-051-0/+4
| |/ |/|
* | Merge #9260: Mrs Peacock in The Library with The Candlestick (killed ↵Pieter Wuille2016-12-021-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | main.{h,cpp}) 76faa3c Rename the remaining main.{h,cpp} to validation.{h,cpp} (Matt Corallo) e736772 Move network-msg-processing code out of main to its own file (Matt Corallo) 87c35f5 Remove orphan state wipe from UnloadBlockIndex. (Matt Corallo)
| * | Rename the remaining main.{h,cpp} to validation.{h,cpp}Matt Corallo2016-12-021-1/+1
| | |
| * | Move network-msg-processing code out of main to its own fileMatt Corallo2016-12-021-0/+1
| | |
* | | Merge #9251: Improvement of documentation of command line parameter 'whitelist'MarcoFalke2016-12-021-1/+1
|\ \ \ | |/ / |/| | | | | 8a70a9d Improvement of documentation of command line parameter 'whitelist' (wodry)
| * | Improvement of documentation of command line parameter 'whitelist'wodry2016-11-301-1/+1
| | |
* | | Fix calculation of number of bound sockets to useMatt Corallo2016-11-301-1/+3
| | |
* | | Merge #9010: Split up AppInit2 into multiple phases, daemonize after datadir ↵Pieter Wuille2016-11-301-26/+60
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | lock errors deec83f init: Get rid of fServer flag (Wladimir J. van der Laan) 16ca0bf init: Try to aquire datadir lock before and after daemonization (Wladimir J. van der Laan) 0cc8b6b init: Split up AppInit2 into multiple phases (Wladimir J. van der Laan)
| * | init: Get rid of fServer flagWladimir J. van der Laan2016-11-291-3/+1
| | | | | | | | | | | | | | | | | | | | | There is no need to store this flag globally, the variable is only used inside the initialization process. Thanks to Alex Morcos for the idea.
| * | init: Try to aquire datadir lock before and after daemonizationWladimir J. van der Laan2016-11-291-11/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before daemonization, just probe the data directory lock and print an early error message if possible. After daemonization get the data directory lock again and hold on to it until exit This creates a slight window for a race condition to happen, however this condition is harmless: it will at most make us exit without printing a message to console. $ src/bitcoind -testnet -daemon Bitcoin server starting $ src/bitcoind -testnet -daemon Error: Cannot obtain a lock on data directory /home/orion/.bitcoin/testnet3. Bitcoin Core is probably already running.
| * | init: Split up AppInit2 into multiple phasesWladimir J. van der Laan2016-11-291-14/+34
| | | | | | | | | | | | | | | This allows doing some of the steps before e.g. daemonization and some fater.
* | | Merge #9142: Move -salvagewallet, -zap(wtx) to where they belongWladimir J. van der Laan2016-11-231-14/+1
|\ \ \ | | | | | | | | | | | | 2e44893 Move -salvagewallet, -zap(wtx) to where they belong (Jonas Schnelli)
| * | | Move -salvagewallet, -zap(wtx) to where they belongJonas Schnelli2016-11-121-14/+1
| | | |
* | | | Unset fImporting for loading mempoolAlex Morcos2016-11-111-1/+3
|/ / /
* | | Merge #8969: Decouple peer-processing-logic from block-connection-logic (#2)Wladimir J. van der Laan2016-11-031-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f5b960b Move nTimeBestReceived updating into net processing code (Matt Corallo) d8670fb Move all calls to CheckBlockIndex out of net-processing logic (Matt Corallo) d6ea737 Remove network state wipe from UnloadBlockIndex. (Matt Corallo) fc0c24f Move MarkBlockAsReceived out of ProcessNewMessage (Matt Corallo) 65f35eb Move FlushStateToDisk call out of ProcessMessages::TX into ATMP (Matt Corallo)
| * | | Remove network state wipe from UnloadBlockIndex.Matt Corallo2016-10-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UnloadBlockIndex is only used during init if we end up reindexing to clear our block state so that we can start over. However, at that time no connections have been brought up as CConnman hasn't been started yet, so all of the network processing state logic is empty when its called. Additionally, the initialization of the recentRejects set is moved to InitPeerLogic.
* | | | Merge #8977: [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush ↵Wladimir J. van der Laan2016-11-021-11/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | thread) cab1da7 [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread) (Jonas Schnelli)
| * | | | [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)Jonas Schnelli2016-10-201-11/+2
| | |_|/ | |/| |
* | | | Merge #9013: Trivial: Explicitly pass const CChainParams& to LoadBlockIndexDB()Wladimir J. van der Laan2016-11-021-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | d0b01f3 Explicitly pass const CChainParams& to LoadBlockIndexDB() (Geoffrey Tsui)
| * | | | Explicitly pass const CChainParams& to LoadBlockIndexDB()Geoffrey Tsui2016-10-251-1/+1
| | |/ / | |/| |
* / | | Add DumpMempool and LoadMempoolPieter Wuille2016-10-311-0/+3
|/ / /
* | / Make connect=0 disable automatic outbound connections.Gregory Maxwell2016-10-251-3/+3
| |/ |/| | | | | | | Otherwise it just responds to this obvious bit of configuration by trying to connect to "0" in a loop.
* | Chainparams: Trivial: In AppInit2(), s/Params()/chainparams/Jorge Timón2016-10-191-4/+4
|/
* Merge #8928: Fix init segfault where InitLoadWallet() calls ATMP before genesisWladimir J. van der Laan2016-10-191-0/+7
|\ | | | | | | 37aefff Fix init segfault where InitLoadWallet() calls ATMP before genesis (Matt Corallo)
| * Fix init segfault where InitLoadWallet() calls ATMP before genesisMatt Corallo2016-10-151-0/+7
| |