Commit Graph

28 Commits

Author SHA1 Message Date
JoelKatz
9cbd019874 A small change with big consequences. Allow job queue threads to moonlight as I/O threads. 2013-03-29 10:18:11 -07:00
JoelKatz
b9456c8fd7 Except when interacting with boost, use std::function and std::bind
when C++11 is available. See: http://stackoverflow.com/questions/14617835
2013-03-16 03:27:43 -07:00
JoelKatz
e392366c63 Get ledger acquire work off the main thread and out of the master lock.
Prioritize ledger acquire work appripriately. This should help prevent the
server from becoming overly sluggish while acquiring ledgers. Still todo:
Finish all pending receive operations before sending out any data requests.
2013-03-15 22:34:55 -07:00
JoelKatz
e9a02882f1 Don't let ledger fetching go too fast. 2013-03-12 15:17:26 -07:00
JoelKatz
0007d76923 Job queue simplificaiton 2013-03-06 19:30:08 -08:00
JoelKatz
dc3d82272e Track threads working on jobs. 2013-03-06 19:07:54 -08:00
JoelKatz
d1169ee86d Make sure all load sources are named. 2013-03-04 16:22:09 -08:00
JoelKatz
f0c029ef0d Rework the way load is accounted to be more accurate and more specific. 2013-03-03 16:24:47 -08:00
JoelKatz
cb111b6318 Path finding fixes:
Track path finding and order book creation time and latency.
Use a ledger snapshot for path finding.
You can't call getCurrentLedger from an unlocked context.
Pathfinding called from the transaction sign function held the master lock.
2013-02-12 20:39:00 -08:00
JoelKatz
a26a302476 Accept old ledgers acquired over the network at a lower priority. 2013-02-10 16:40:52 -08:00
JoelKatz
5aa810404b Track uptime. Update local fee schedule based on load manager. 2013-02-05 21:33:42 -08:00
JoelKatz
faa344c7d0 Dispatch write ahead logging through our job queue. SQL logging improvements. 2013-01-28 14:32:52 -08:00
JoelKatz
e48ef29f8c Dispatch HashedObject background writes through our job queue. 2013-01-28 07:13:05 -08:00
JoelKatz
1127ae560e Defer publishing a ledger to clients until it accumulates sufficient
validations. We now have an open ledger, a last closed ledger, and a last
validated ledger. Normally, a ledger will be validated right after it
closes, but in edge cases, we might see a ledger close that then doesn't get
validated. This makes the code do the right thing.
2013-01-02 12:04:16 -08:00
JoelKatz
69a434763e Fix a bug Arthur reported. 2012-12-24 14:52:36 -08:00
JoelKatz
4ed1b4f267 Dispatch all websocket commands to our pool. This should fix the deadlocks. 2012-12-08 19:54:32 -08:00
JoelKatz
d046730223 Latency targets. 2012-12-03 04:40:26 -08:00
JoelKatz
72777b6b83 Remove some shared pointers on load monitors. 2012-11-28 15:53:07 -08:00
JoelKatz
ea94feb643 Slots the PoW peer code will go into. 2012-11-25 21:32:21 -08:00
JoelKatz
8b53f85f60 Separate ledger publish logic so we can tell if clients are overloading us. 2012-11-23 12:15:04 -08:00
JoelKatz
7d4d18bf8d Add RPC to load tracking. 2012-11-20 13:04:17 -08:00
JoelKatz
5ac22ff31b Two more load monitoring hooks. 2012-11-20 12:09:51 -08:00
JoelKatz
11088937a4 Track special disk accesses. 2012-11-19 17:08:58 -08:00
JoelKatz
19d73bd477 More tie ins. 2012-11-19 15:41:45 -08:00
JoelKatz
08f271443d Start to hook this stuff up. 2012-11-19 15:33:49 -08:00
JoelKatz
73a0a56f2b New job categories. 2012-11-13 16:18:11 -08:00
JoelKatz
546c0f288f Add a job type for local transactions. 2012-11-09 14:12:48 -08:00
Stefan Thomas
fa3fab5816 Moved cpp code to src/cpp and js code to src/js. 2012-11-07 12:49:50 -08:00