David Schwartz
1fe57720c4
Legacy Pathfinding API improvements:
...
* Use the cache for source/dest currencies
* Allow a search depth and initial paths to be specified in old pathfinding
2014-03-03 10:59:31 -08:00
JoelKatz
f2beb82b97
Pathfinding dispatch improvements
...
* Keep requests forwards, flip only on insert
* Insert requests in more sensible order (after new, before old)
* Remove a redundant cache/request check
2014-02-17 17:26:50 -08:00
Nik Bougalis
e60b28980a
PeerFinder work and refactoring:
...
* Implement PeerFinder business logic.
* Support fixed peers (including DNS support).
* Add journal support to Peer and Peers.
* Refactor PeerDoor support.
* Tidy up Peers and eliminate connection functionality and timers.
* Refactor Peer interface and add journal support.
* Allow construction of incoming Peer using an existing socket.
* Remove TESTNET support.
* Allow connections from/to cluster peers without consuming slots
* Misc. cleanups.
2014-02-05 15:56:04 -08:00
JoelKatz
d475994e02
Pairwise no ripple:
...
* Cannot set noRipple flag with negative balance.
* Paths with consecutive no ripple links are invalid
* Adjust pathfinding value of no ripple out paths
* Check for no ripple when adding links in pathfinding
* Remove old noRipple logic
* Update trust line delete logic
2014-01-23 13:38:33 -08:00
JoelKatz
0bab6a9fec
Add directory and order book iterators
...
This should fix the crossed order book bug.
* Change OfferCreate::takeOffers to use new iterators
* Change NetworkOps::getBookPage to use new iterators
* If we find an offer in the book but not the ledger, deindex it
2014-01-23 13:38:11 -08:00
JoelKatz
505f029edb
Clean up 'destination_currencies' in new pathfinding reply
2014-01-23 13:24:43 -08:00
JoelKatz
815659b898
Replace a lock with an atomic in new pathfinding
2014-01-23 13:24:33 -08:00
Vinnie Falco
c95dccfec6
Move PathRequests to separate files
2014-01-21 10:28:36 -05:00
David Schwartz
1fcb2872b9
Reduce log priorities.
2014-01-10 22:54:00 -08:00
JoelKatz
4591658160
PathRequests object to own all path requests.
2014-01-10 22:53:57 -08:00
JoelKatz
8f8b2ae4a3
Handle offers in quality directory but not in ledger
2014-01-07 15:57:50 -08:00
JoelKatz
cd8234acba
Pathfinding bugfix. Missing lock.
2014-01-07 15:57:46 -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
3768b3c3ca
Fix a pathfinding bug
2014-01-07 15:48:50 -08:00
Vinnie Falco
6527cdfa97
Add RippleAsset types
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2013-12-27 17:21:11 -08:00
JoelKatz
b984566480
Suppress a warning.
2013-12-08 23:53:47 -08:00
JoelKatz
51aef120a1
Pathfinding performance improvements:
...
* Use a single RippleLineCache, even for 'fast' requests
* Use a ledger copy to avoid stalling other code
2013-12-08 23:52:54 -08:00
Vinnie Falco
b660d82516
Make TxFormats a Meyers singleton
2013-11-20 10:16:46 -08:00
JoelKatz
a3024352ba
Pathfinding improvements.
2013-11-12 21:08:52 -08:00
Vinnie Falco
a05f33f6a7
Add annotation and clean up whitespace
2013-11-12 19:30:07 -08:00
JoelKatz
74c65cfdc5
Cleanup path request logging.
2013-11-11 19:29:56 -08:00
JoelKatz
399760fda9
Assign each path finding request an ID and track its lifecycle.
2013-11-11 18:32:45 -08:00
JoelKatz
cf71680aee
Don't return too many paths.
2013-11-08 11:05:05 -08:00
JoelKatz
46861fac48
Don't allow a payment to take anything from an expired offer.
2013-11-08 10:17:12 -08:00
JoelKatz
4620b667e7
Fix a race condition if PathRequest::doCreate races with the path being processed.
2013-11-07 22:30:11 -08:00
JoelKatz
0ae7bcff52
Fix the path filtering loop exit condition.
2013-11-03 17:20:10 -08:00
JoelKatz
2210dbac94
Don't abort the path filtering loop too early.
2013-11-03 16:37:35 -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
5a9416fbcf
Remove an assert that is not needed.
2013-10-16 13:47:54 -07:00
JoelKatz
20e7cac743
Reduce some logging.
2013-10-08 15:05:41 -07:00
JoelKatz
b9e0208aee
Payment engine doesn't allow returning to XRP.
2013-10-06 15:52:16 -07:00
JoelKatz
1ba0139683
Claim saInRemaining.
2013-10-02 16:13:14 -07:00
JoelKatz
48f815ff70
Handle negative saInSum earlier.
2013-09-27 03:29:15 -07:00
JoelKatz
8cca807ea1
Don't abort on a path that's dry because we entered with no funds.
2013-09-26 11:49:18 -07:00
JoelKatz
18fc854bf3
Better tracking of resources associated with pathfinding.
2013-09-26 10:26:15 -07:00
Vinnie Falco
fcd689afbf
Update copyright notice and licenses
2013-09-25 17:27:06 -07:00
David Schwartz
3518a51d4a
Make 'saaad' paths easier to find.
...
# (use "git reset HEAD <file>..." to unstage)
2013-09-25 11:21:14 -07:00
David Schwartz
807b4fd659
"sxfad" path was missing from non-XRP to non-XRP (dif currency) list.
2013-09-24 16:06:33 -07:00
David Schwartz
8b0df758f3
calcNodeAdvance fix.
2013-09-24 14:41:53 -07:00
JoelKatz
7c31a423e9
No ripple check takes precedence over destination check.
2013-09-22 21:22:14 -07:00
JoelKatz
dc61fadc56
If an account sets noRipple on a RippleState, it can only be used as the first link in the path.
2013-09-22 20:48:40 -07:00
JoelKatz
1f372a3b08
Implement NoRipple transaction and trust line flags.
2013-09-22 15:14:47 -07:00
Vinnie Falco
89b1859929
Refactor Application shutdown using new Service, AsyncService interfaces
2013-09-19 17:18:43 -07:00
Vinnie Falco
846b8e339c
Tidy and rename all Ripple source files
2013-09-13 16:58:24 -07:00
Vinnie Falco
45eccf2ccf
Move ./modules to ./src
2013-09-11 11:20:53 -07:00