Vinnie Falco
9d07ddeae1
Improved human readable JSON-RPC error messages
2014-01-21 10:28:34 -05:00
David Schwartz
663e38dcdd
Locking and dispatching performance improvements:
...
* Avoid taking the master lock in most peer operations
* Dispatch recvGetLedger to JobQueue
* Dispatch consensus ledger fetches.
* Release master lock earlier in RPCHandler
2014-01-17 16:05:48 -08:00
JoelKatz
7efbfa2d20
Limit legacy pathfinding requests
2014-01-10 23:09:26 -08:00
JoelKatz
d474d68566
Order book subscribe cleanups.
2014-01-10 22:53:59 -08:00
JoelKatz
4591658160
PathRequests object to own all path requests.
2014-01-10 22:53:57 -08:00
JoelKatz
a0f6429652
Add LedgerHolder class, use in LedgerMaster
2014-01-07 15:57:51 -08:00
David Schwartz
e3a67b13ff
Reset liquidity before retrying rippleCalc
2014-01-07 15:57:48 -08:00
JoelKatz
de85a7c2bd
Pathfinding improvements:
...
* Make each path request track whether it needs updating.
* Improve new request handling, reverse order for processing requests.
* Break to handle new requests immediately.
* Make mPathFindThread an integer rather than a bool. Allow two threads.
* For old pathfinding, if the ledger is unspecified, use the PathRequest's RippleLineCache.
* Log new pathfinding request latencies.
* Suspend processing requests if server is backed up.
2014-01-07 15:57:46 -08:00
Vinnie Falco
087301933a
General refactoring, using C++11
...
* Remove broken RecycledObjectPool
* Fix beast::ServiceQueue using List instead of LockFreeStack
* Add class semaphore, fixes broken Semaphore
* Move crytpo module files to new beast directory
* Use c++11 replacements for boost and beast types:
- std::atomic instead of beast::Atomic
- std::function instead of boost::function, beast::function
- std::unique_ptr instead of beast::ScopedPointer
- std::shared_ptr instead of boost::shared_ptr
* Remove modules:
- beast_db
- beast_crypto
- beast_extras
* Remove unnecessary classes:
- AbstractFifo
- AddConst
- AtomicCounter
- AtomicFlag
- AtomicPointer
- AtomicState
- CopyConst
- Expression
- ForwardList
- IfCond
- Interval
- IntrusiveArray
- KeyvaDB
- PointerToOther
- PointerTraits
- RemoveConst
- RemoveConstVolatile
- RemoveReference
- RemoveVolatile
- SharedObjectArray
- SingleThreadedSharedObject
- SophiaDB factory
- SortedSet
- WeakReference
- beast::unique_ptr
2014-01-07 15:57:45 -08:00
JoelKatz
27b8415d0c
During old pathfinding, unlock earlier.
2013-12-12 21:17:25 -08:00
JoelKatz
636d722e8d
Memory-conserving changes to SHAMapTreeNode and visitLeavesInternal.
2013-12-08 23:52:54 -08:00
JoelKatz
2ce4ce4309
Begin deprecating the old account_tx interface.
2013-11-26 22:01:10 -08:00
JoelKatz
ed64c8bb29
Add LedgerCleaner:
...
* Manually invoked to clean ledgers
* Get status with: 'print app.ledgercleaner.*'
* Invoke or control with 'ledger_cleaner' command
2013-11-26 21:50:35 -08:00
JoelKatz
833435f8c2
The 'ledger' RPC command should be considered high burden if 'full' is set.
2013-11-17 20:11:40 -08:00
David Schwartz
58f07a573f
New ResourceManager for managing server load.
...
* Track abusive endpoints
* Gossip across cluster.
* Use resource manager's gossip support to share load reporting across a cluster
* Swtich from legacy fees to new Resource::Charge fees.
* Connect RPC to the new resource manager.
* Set load levels where needed in RPC/websocket commands.
* Disconnect abusive peer endpoints.
* Don't start conversations with abusive peer endpoints.
* Move Resource::Consumer to InfoSub and remove LoadSource
* Remove port from inbound Consumer keys
* Add details in getJson
* Fix doAccountCurrencies for the new resource manager.
2013-11-12 21:08:52 -08:00
David Schwartz
bf1843be9e
Add "account_currencies" command.
2013-11-05 16:07:17 -08:00
David Schwartz
d50439cc4d
doAccountLines cleanup.
2013-11-05 15:41:15 -08:00
JoelKatz
6b2f654a30
Improve path filtering:
...
1) Ignore paths with very low liquidity
2) Allow an extra filling path to be added if needed
2013-11-03 02:20:18 -08:00
JoelKatz
c11abb42d1
Fix a case where 'sign' won't work in standalone mode.
2013-10-23 17:24:16 -07:00
Vinnie Falco
fb6ecebbd1
Add PropertyStream for server state introspection
2013-10-07 14:00:03 -07:00
Vinnie Falco
1ae3328642
Add PropertyStream
2013-10-06 17:30:44 -07:00
David Schwartz
9b3c74a095
Return the account checked if account_info finds no account.
2013-10-03 16:53:56 -07:00
David Schwartz
b3b22d7595
Nothing we do in doTx requires the master lock.
2013-10-03 10:55:42 -07:00
JoelKatz
072f2c93ef
Do the initial work on new pathfinding requests without holding the master lock.
2013-10-01 11:06:32 -07:00
JoelKatz
191e76a558
Fix a crash if a client requests an order book snapshot before we have a published ledger.
2013-09-29 11:34:07 -07:00
Vinnie Falco
fcd689afbf
Update copyright notice and licenses
2013-09-25 17:27:06 -07:00
JoelKatz
5d63086b69
Tie in blacklist code.
2013-09-24 13:00:11 -07:00
JoelKatz
1f372a3b08
Implement NoRipple transaction and trust line flags.
2013-09-22 15:14:47 -07:00
Vinnie Falco
d16aa7f928
Use JobQueue to process RPC-JSON asynchronously
2013-09-22 13:22:06 -07:00
Vinnie Falco
ec6c09d995
Rename to Stoppable
2013-09-22 11:51:44 -07:00
Vinnie Falco
e59293ec92
Add RPCService, call the Manager from RPCServerHandler
2013-09-21 16:58:55 -07:00
Vinnie Falco
b839ae0552
Refactor Log code, add LogJournal adapter
2013-09-12 15:06:28 -07:00
Vinnie Falco
a76672c5f0
Split Log singleton code out into LogInstance
2013-09-11 22:42:40 -07:00
Vinnie Falco
45eccf2ccf
Move ./modules to ./src
2013-09-11 11:20:53 -07:00