Vinnie Falco
c2fd1215f5
Refactor beast::asio:
...
* New tools for completion handlers:
- wrap_handler provides composed io_service execution guarantees.
- bind_handler rebinds arguments to handlers.
- shared_handler type-erases any completion handler.
- buffer_sequence type-erases templated BufferSequences
- abstract_socket replaces Socket
- socket_wrapper replaces SocketWrapper
- beast::asio placeholders to work with std::bind
* Removed obsolete classes and functions
- AbstractHandler
- ComposedAsyncOperation
- SharedFunction
- SharedHandler
- SharedHandlerAllocator
- SharedHandlerPtr
- SharedHandlerType
- SocketBase
- SocketWrapperStrand
- wrapHandler
* Refactored classes to use new tools
- abstract_socket
- socket_wrapper
- HandshakeDetector
- HttpClientType
* Miscellanous tidying
- socket classes moved to beast::asio namespace
- beast asio files provide their own namespace declaration.
- Fix IsCallPossible conflicting template parameter name
- Use <boost/get_pointer.hpp> for C++11 compatibility.
- Remove extraneous include path from build environment.
2014-03-14 08:03:48 -07:00
Vinnie Falco
4e357601ec
Move MultiSocket, RippleSSLContext to common module
2014-03-14 07:57:20 -07:00
Vinnie Falco
f66aee4e7f
Add beast::buffer_view
2014-03-14 07:57:19 -07:00
Nik Bougalis
e8d7d339ef
Transactor refactoring:
...
- Reorganize transactor source files and VS project
- Don't expose Transactor interfaces to anyone but the TransactionEngine
- Improve compile times
- Begin using Journal
2014-03-11 19:02:17 -07:00
Vinnie Falco
9bf1a76e91
Remove unused classes
2014-02-28 12:03:33 -08:00
Vinnie Falco
995e64a205
PeerFinder fixes:
...
* Fix split horizon using recent address cache
* Change message tuning parameters to reduce dead messages
* Improved peer handout algorithm for addresses
* Improved handout algorithm for redirects
* Improved selection algorithm for autoconnect
* Faster autoconnection strategy
* Consolidate deadline timers
* Send empty endpoints message as a socket ping
* Fix hop count adjustments for live cache filtering
* Remove broken Peer::isConnected function
* Optimized Livecache for handouts
* Optimized Bootcache for handouts
* Remove uptime metric from Bootcache entries
* Add histogram to Livecache print output
2014-02-24 19:25:01 -08:00
Vinnie Falco
5bb194cf89
PeerFinder fixes:
...
* Add Livecache property stream support
* Tidy up log output
* Move peer code to ripple_overlay module
* Remove or hide some Peer interfaces
* Fix asserts by removing isConnected which was not thread safe
2014-02-14 14:00:51 -08:00
Vinnie Falco
3a1a5d12de
Refactor PeerFinder:
...
* Revise documentation in README.md
* Inject abstract_clock in Manager
* Introduce the Slot object as a replacement for Peer
* New bullet-proof method for slot accounting
* Replace Peer with Slot for tracking connections
* Prevent duplicate outbound connection attempts
* Improved connection and bootstrap business logic
* Refactor PeerImp, PeersImp private interfaces
* Give PeersImp access to the PeerImp interface
* Handle errors retrieving endpoints from asio sockets
* Use weak_ptr to manage PeerImp lifetime
* Better handling of socket closure in PeerImp
* Improve the orderly shutdown logic of PeersImp
2014-02-13 14:19:27 -08:00
Vinnie Falco
9b657ba224
Refactor RPC module:
...
* Move JsonPropertyStream to ripple_json
* Remove unused RPC service manager
* Recreate RPC module in app code area
* Add RPC::Manager
* Add DoPrint handler
2014-02-06 18:21:08 -08:00
Vinnie Falco
9bc6e83f8a
Change bassert to always call assert
2014-02-06 14:30:03 -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
Vinnie Falco
0c2e35edc9
Remove obsolete Visual Studio projects
2014-02-05 15:42:28 -08:00
Vinnie Falco
0afbda0351
Redirect Visual Studio 2013 project output
2014-02-04 09:25:27 -08:00
Vinnie Falco
2009f8b1ca
Add insight support to TaggedCache, KeyCache:
...
* Move TaggedCache, KeyCache to common
* Add radmap module, FullBelowCache class
* Add get_seconds_clock
* Inject FullBelowCache in SHAMap
2014-02-03 23:00:45 -08:00
Vinnie Falco
35715a0146
Add basic_seconds_clock, insight::Groups
2014-02-03 22:55:47 -08:00
Vinnie Falco
7fb614f7af
Fix application pointer singleton lifetime
2014-02-03 22:36:28 -08:00
Vinnie Falco
3f091fce59
Update project build requirements
...
* Add Visual Studio 2013 project file
* Update SConstruct for boost 1.55.0
2014-02-03 16:58:32 -08:00
Vinnie Falco
39235f5b91
Set version to 0.21.0.rc1
2014-01-23 23:31:26 -05: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
Vinnie Falco
c95dccfec6
Move PathRequests to separate files
2014-01-21 10:28:36 -05:00
Vinnie Falco
9d07ddeae1
Improved human readable JSON-RPC error messages
2014-01-21 10:28:34 -05:00
Vinnie Falco
9b61a83721
Refactor, tidy up:
...
* Fix for msvc std::function return types
* Convert macros to constants
* Add Journal to PeerSet and use in InboundLedger
* Break lines and add annotations
* Remove some warnings
2014-01-21 10:28:33 -05:00
Vinnie Falco
7570b6489d
Fix and tidy up NodeStore
...
* Use std::unique_ptr
* Move globals to Manager singleton (fixes RocksDB exit crash)
2014-01-17 15:21:51 -05:00
Vinnie Falco
68501763dd
Refactor KeyCache
2014-01-17 12:19:04 -05:00
Vinnie Falco
62516ef07f
Refactor TaggedCache
2014-01-07 21:14:14 -08:00
Vinnie Falco
b2feafa94c
Use abstract_clock and improved tests, in ResourceManager
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2014-01-07 17:23:26 -08:00
JoelKatz
a0f6429652
Add LedgerHolder class, use in LedgerMaster
2014-01-07 15:57:51 -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
Vinnie Falco
3c7fc31c95
Add ripple_common module
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2014-01-07 15:15:44 -08:00
Vinnie Falco
6527cdfa97
Add RippleAsset types
...
Conflicts:
Builds/VisualStudio2012/RippleD.vcxproj.filters
2013-12-27 17:21:11 -08:00
Vinnie Falco
f9c4070ad3
Add FetchPack unit test
2013-12-22 12:57:44 -08:00
Nik Bougalis
3e2b5dcc3d
Hostname resolution support for Peers
2013-12-19 14:50:03 -08:00
Vinnie Falco
81d418007a
Add CollectorManager for Beast.Insight support
2013-12-16 18:08:11 -08:00
Vinnie Falco
177b3c93c4
Move DecayingSample to algorithm
2013-12-05 18:35:37 -08:00
Vinnie Falco
cdaa65c07a
Remove LightningDB database and backend
2013-11-27 15:14:21 -08:00
Vinnie Falco
8a278cf9d6
Remove sophia database and backend
2013-11-27 15:09:26 -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
Vinnie Falco
8b72f2ad79
Add rocksdb module
2013-11-21 18:31:15 -08:00
David Schwartz
02b5572ccc
Changes to support the ledger cleaner
...
* Rework ledger save return values to indicate errors to callers
* Add an extra function to support the ledger cleaner.
2013-11-20 12:22:45 -08:00
Vinnie Falco
1f433dea97
Add ripple_app TODO
2013-11-15 18:39:07 -08:00
Vinnie Falco
d8707cad2c
Refactor logging
2013-11-15 13:25:56 -08:00
Vinnie Falco
19d4bf0ea5
Add README and tidy up comments
2013-11-15 11:29:45 -08:00
Vinnie Falco
9e519af887
Add missing README and TODO for all new modules
2013-11-15 11:27:26 -08:00
JoelKatz
1daf1b9932
Use MultiSocket for websocket
2013-11-12 21:09:01 -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
Vinnie Falco
968624971f
Add TestOverlay README
2013-11-12 09:18:11 -08:00
Vinnie Falco
67b8f95b1e
Add PeerFinder README doc
2013-11-10 15:51:29 -08:00
Vinnie Falco
a39fa8ae5f
New SiteFiles for fetching and managing ripple.txt files
2013-10-31 08:10:06 -07:00
Vinnie Falco
73ab408b3c
Move MurmurHash to beast
2013-10-31 08:10:04 -07:00
Nik Bougalis
42b841735e
PeerFinder work
2013-10-29 20:52:57 -07:00