Age | Commit message (Collapse) | Author |
|
Clean up font size in main window for observed inconsistency in Mac OS
|
|
Don't use -dbcache for BDB anymore
|
|
Network optimalizations
|
|
There exists a per-message-processed send buffer overflow protection,
where processing is halted when the send buffer is larger than the
allowed maximum.
This protection does not apply to individual items, however, and
getdata has the potential for causing large amounts of data to be
sent. In case several hundreds of blocks are requested in one getdata,
the send buffer can easily grow 50 megabytes above the send buffer
limit.
This commit breaks up the processing of getdata requests, remembering
them inside a CNode when too many are requested at once.
|
|
|
|
* Change CNode::vRecvMsg to be a deque instead of a vector (less copying)
* Make sure to acquire cs_vRecvMsg in CNode::CloseSocketDisconnect (as it
may be called without that lock).
|
|
1) "optimistic write": Push each message to kernel socket buffer immediately.
2) If there is write data at select time, that implies send() blocked
during optimistic write. Drain write queue, before receiving
any more messages.
This avoids needlessly queueing received data, if the remote peer
is not themselves receiving data.
Result: write buffer (and thus memory usage) is kept small, DoS
potential is slightly lower, and TCP flow control signalling is
properly utilized.
The kernel will queue data into the socket buffer, then signal the
remote peer to stop sending data, until we resume reading again.
|
|
|
|
Replaces CNode::vRecv buffer with a vector of CNetMessage's. This simplifies
ProcessMessages() and eliminates several redundant data copies.
Overview:
* socket thread now parses incoming message datastream into
header/data components, as encapsulated by CNetMessage
* socket thread adds each CNetMessage to a vector inside CNode
* message thread (ProcessMessages) iterates through CNode's CNetMessage vector
Message parsing is made more strict:
* Socket is disconnected, if message larger than MAX_SIZE
or if CMessageHeader deserialization fails (latter is impossible?).
Previously, code would simply eat garbage data all day long.
* Socket is disconnected, if we fail to find pchMessageStart.
We do not search through garbage, to find pchMessageStart. Each
message must begin precisely after the last message ends.
ProcessMessages() always processes a complete message, and is more efficient:
* buffer is always precisely sized, using CDataStream::resize(),
rather than progressively sized in 64k chunks. More efficient
for large messages like "block".
* whole-buffer memory copy eliminated (vRecv -> vMsg)
* other buffer-shifting memory copies eliminated (vRecv.insert, vRecv.erase)
|
|
(finally) Remove IRC Seed support now that lfnet is down.
|
|
alertnotify, so bitcoind users can get email/sms/whatever of alerts
|
|
Improve capslock detection on non-us keyboards
|
|
On non-us keyboards you can obtain lower case characters even pressing
the SHIFT, this caused false positives.
|
|
Conflicts:
src/qt/bitcoingui.cpp
|
|
Also copy the address to the X11 clipboard (the one you middle-click to paste)
|
|
Staging - GUI fixes for upstream
|
|
Adding 'copy txid' to qt tx overview context menu
|
|
-dbcache was originally used to set the maximum buffer size in the
BDB environment, and was later changed to set the chainstate cache
and leveldb caches. No need to use it for BDB now that only the
wallet remains there.
This should reduce memory allocation (but not necessarily memory
usage) a bit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Step for buttons 'up' and 'down' - 0.001. With BTC and mBTC all ok, but
0.001 uBTC is lower than minimal value (satoshi)
User should press 10 times on 'up' button to get 0.01 uBTC
|
|
bitcoin-qt
- This commit is a minimal restructuring necessary to support multiple wallets in the UI. Please see multiwallet-qt.txt for details.
|
|
Update readme copyright 2012 to 2013
|
|
|
|
|
|
|
|
Deleting everything except the wallet will not help recover from BDB errors.
|
|
Runs a shell command when an AppliesToMe() alert is received.
%s in the <cmd> string is replaced with the alert.strStatusBar
message.
|
|
Now that the wallet is the only thing in BDB any DB open errors must be
from the wallet itself-- so deleting everything else will not likely help.
|
|
update bitcoin_en.ts and bitcoinstrings.cpp
|
|
Bitcoin-Qt: add "send coins" to context menu in addressbook
|
|
harmonize 2 init messages and remove one
|
|
re-enable -D_FORTIFY_SOURCE=2 for all platforms
|
|
Bitcoin-Qt: update Win executable file meta-data copyright
|
|
|
|
|
|
|
|
|
|
- allows to directly select an address from the addressbook, chose "send
coins" from the context menu, which sends you to sendcoins tab and fills
in the selected address
|
|
Bitcoin-Qt: massive header and cpp cleanup
|
|
|
|
|
|
|
|
|
|
- try to enforce the same style to all Qt related files
- remove unneeded includes from the files
- add missing Q_OBJECT, QT_BEGIN_NAMESPACE / QT_END_NAMESPACE
- prepares for a pull-req to include Qt5 compatibility
|
|
- harmonize the database related init messages
- as we have a thread for importing blocks, that init message is obsolete
|