aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-12net: rework the way that the messagehandler sleepsCory Fields
In order to sleep accurately, the message handler needs to know if _any_ node has more processing that it should do before the entire thread sleeps. Rather than returning a value that represents whether ProcessMessages encountered a message that should trigger a disconnnect, interpret the return value as whether or not that node has more work to do. Also, use a global fProcessWake value that can be set by other threads, which takes precedence (for one cycle) over the messagehandler's decision. Note that the previous behavior was to only process one message per loop (except in the case of a bad checksum or invalid header). That was changed in PR #3180. The only change here in that regard is that the current node now falls to the back of the processing queue for the bad checksum/invalid header cases.
2017-01-12net: remove useless commentsCory Fields
2017-01-12net: Add a simple function for waking the message handlerCory Fields
This may be used publicly in the future
2017-01-12net: record bytes written before notifying the message processorCory Fields
2017-01-12net: handle message accounting in ReceiveMsgBytesCory Fields
This allows locking to be pushed down to only where it's needed Also reuse the current time rather than checking multiple times.
2017-01-04net: set message deserialization version when it's actually time to deserializeCory Fields
We'll soon no longer have access to vRecvMsg, and this is more intuitive anyway.
2017-01-04net: remove redundant max sendbuffer size checkCory Fields
This is left-over from before there was proper accounting. Hitting 2x the sendbuffer size should not be possible.
2017-01-04net: wait until the node is destroyed to delete its recv bufferCory Fields
when vRecvMsg becomes a private buffer, it won't make sense to allow other threads to mess with it anymore.
2017-01-04net: only disconnect if fDisconnect has been setCory Fields
These conditions are problematic to check without locking, and we shouldn't be relying on the refcount to disconnect.
2017-01-04net: make GetReceiveFloodSize publicCory Fields
This will be needed so that the message processor can cork incoming messages
2017-01-04net: make vRecvMsg a list so that we can use splice()Cory Fields
2017-01-04net: fix typo causing the wrong receive buffer sizeCory Fields
Surprisingly this hasn't been causing me any issues while testing, probably because it requires lots of large blocks to be flying around. Send/Recv corks need tests!
2017-01-04Merge #9467: [Trivial] [Doc] Install Protobuf v3 on OS XMarcoFalke
35ee63c [Doc] Install Protobuf v3 on OS X (fanquake)
2017-01-04Merge #9401: Make rpcauth help message clearer, add example in example .confMarcoFalke
0513c70 Make rpcauth help message clearer, add example in example .conf (Gregory Sanders)
2017-01-04Merge #9396: Updated listsinceblock rpc documentationWladimir J. van der Laan
3f67972 updated listsinceblock rpc docs (accraze)
2017-01-04Merge #9288: Fix a bug if the min fee is 0 for FeeFilterRounderWladimir J. van der Laan
f8d43b8 Avoid rollingMinimumFeeRate never being able to decay below half (Alex Morcos) eab8e1b fix a bug if the min fee is 0 for FeeFilterRounder (Alex Morcos)
2017-01-04Merge #9283: A few more CTransactionRef optimizationsWladimir J. van der Laan
91335ba Remove unused MakeTransactionRef overloads (Pieter Wuille) 6713f0f Make FillBlock consume txn_available to avoid shared_ptr copies (Pieter Wuille) 62607d7 Convert COrphanTx to keep a CTransactionRef (Pieter Wuille) c44e4c4 Make AcceptToMemoryPool take CTransactionRef (Pieter Wuille)
2017-01-04Merge #9289: net: drop boost::thread_groupWladimir J. van der Laan
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)
2017-01-04Merge #9450: Increment MIT licence copyright header year on files modified ↵Wladimir J. van der Laan
in 2016 27765b6 Increment MIT Licence copyright header year on files modified in 2016 (isle2983)
2017-01-04[Doc] Install Protobuf v3 on OS Xfanquake
2017-01-04Merge #9462: [qt] Do not translate tilde characterWladimir J. van der Laan
fab6c5f [qt] Do not translate `~` (MarcoFalke)
2017-01-03net: misc header cleanupsCory Fields
2017-01-03net: make proxy receives interruptibleCory Fields
2017-01-03net: remove thread_interrupted catchCory Fields
This is now a std::thread, so there's no hope of catching a boost interruption point.
2017-01-03net: make net processing interruptibleCory Fields
2017-01-03net: make net interruptibleCory Fields
Also now that net threads are interruptible, switch them to use std threads/binds/mutexes/condvars.
2017-01-03net: add CThreadInterrupt and InterruptibleSleepCory Fields
2017-01-03net: a few small cleanups before replacing boost threadsCory Fields
- Drop the interruption point directly after the pnode allocation. This would be leaky if hit. - Rearrange thread creation so that the socket handler comes first
2017-01-03Merge #8776: Wallet refactoring leading up to multiwalletPieter Wuille
5394b39 Wallet: Split main logic from InitLoadWallet into CreateWalletFromFile (Luke Dashjr) fb0c934 Wallet: Let the interval-flushing thread figure out the filename (Luke Dashjr)
2017-01-03Merge #9252: Release cs_main before calling ProcessNewBlock, or processing ↵Pieter Wuille
headers (cmpctblock handling) bd02bdd Release cs_main before processing cmpctblock as header (Suhas Daftuar) 680b0c0 Release cs_main before calling ProcessNewBlock (cmpctblock handling) (Suhas Daftuar)
2017-01-03[qt] Do not translate `~`MarcoFalke
2017-01-03Merge #8877: Qt RPC console: history sensitive-data filter, and saving input ↵Jonas Schnelli
line when browsing history 8562792 GUI/RPCConsole: Include importmulti in history sensitive-command filter (Luke Dashjr) ff77faf Qt/RPCConsole: Use RPCParseCommandLine to perform command filtering (Luke Dashjr) a79598d Qt/Test: Make sure filtering sensitive data works correctly in nested commands (Luke Dashjr) 629cd42 Qt/RPCConsole: Teach RPCParseCommandLine how to filter out arguments to sensitive commands (Luke Dashjr) e2d9213 Qt/RPCConsole: Make it possible to parse a command without executing it (Luke Dashjr) 1755c04 Qt/RPCConsole: Truncate filtered commands to just the command name, rather than skip it entirely in history (Luke Dashjr) d80a006 Qt/RPCConsole: Add signmessagewithprivkey to list of commands filtered from history (Luke Dashjr) afde12f Qt/RPCConsole: Refactor command_may_contain_sensitive_data function out of RPCConsole::on_lineEdit_returnPressed (Luke Dashjr) de8980d Bugfix: Do not add sensitive information to history for real (Luke Dashjr) 9044908 Qt/RPCConsole: Don't store commands with potentially sensitive information in the history (Jonas Schnelli) fc95daa Qt/RPCConsole: Save current command entry when browsing history (Jonas Schnelli)
2017-01-03Merge #9460: Fix a few typos in translated stringsWladimir J. van der Laan
d45b21e qt: Fill in English numerusforms (Wladimir J. van der Laan) a9d6151 qt,wallet: Fix a few typos in messages (Wladimir J. van der Laan)
2017-01-03qt: Fill in English numerusformsWladimir J. van der Laan
minute/minutes block/blocks and so forth.
2017-01-03qt,wallet: Fix a few typos in messagesWladimir J. van der Laan
As reported by [yahoe.001](https://www.transifex.com/user/profile/yahoe.001/).
2017-01-03doc: Add historical release notes for 0.13.2Wladimir J. van der Laan
2017-01-03Merge #9446: SetMerkleBranch: remove unused code, remove cs_main lock ↵Jonas Schnelli
requirement 9e351c9 SetMerkleBranch: remove unused code, remove cs_main lock requirement (Jonas Schnelli)
2017-01-02Merge #9412: build: Fix 'make deploy' for OSXJonas Schnelli
2fb98f6 Fix bug in dmg builder so that it actually reads in the configuration file (Don Patterson) b01667c Mention RSVG dependency when creating the disk image on OSX (Jonas Schnelli) 09aefb5 build: Fix 'make deploy' for OSX (Cory Fields)
2017-01-02qt: Set transifex slug to 0.14Wladimir J. van der Laan
Also perform update of source translations.
2017-01-01Merge #9433: Update the Windows build notesMarcoFalke
b705a04 Update the Windows build notes (Douglas Roark)
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-12-30Fix bug in dmg builder so that it actually reads in the configuration fileDon Patterson
2016-12-30SetMerkleBranch: remove unused code, remove cs_main lock requirementJonas Schnelli
2016-12-29Update the Windows build notesDouglas Roark
- Clarify the Windows Subsystem For Linux section. - Clarify the build requirements.
2016-12-30Merge #9420: Fix linker error when configured with --enable-lcovJonas Schnelli
e2b5c98 Fix linker error when configured with --enable-lcov (Douglas Roark)
2016-12-29GUI/RPCConsole: Include importmulti in history sensitive-command filterLuke Dashjr
2016-12-29Qt/RPCConsole: Use RPCParseCommandLine to perform command filteringLuke Dashjr
2016-12-29Qt/Test: Make sure filtering sensitive data works correctly in nested commandsLuke Dashjr
2016-12-29Qt/RPCConsole: Teach RPCParseCommandLine how to filter out arguments to ↵Luke Dashjr
sensitive commands
2016-12-29Qt/RPCConsole: Make it possible to parse a command without executing itLuke Dashjr