Revert "Add [overlay] configuration section (experimental):"

This reverts commit 856fd9d69f.
This commit is contained in:
Vinnie Falco
2014-10-23 13:48:52 -07:00
parent 5a212cd626
commit ab1f36c565
4 changed files with 17 additions and 107 deletions

View File

@@ -44,41 +44,6 @@
# or Mac style end of lines. Blank lines and lines beginning with '#' are
# ignored. Undefined sections are reserved. No escapes are currently defined.
#
# Notation
#
# In this document a simple BNF notation is used. Angle brackets denote
# required elements, square brackets denote optional elements, and single
# quotes indicate string literals. A vertical bar separating 1 or more
# elements is a logical "or"; Any one of the elements may be chosen.
# Parenthesis are notational only, and used to group elements, they are not
# part of the syntax unless they appear in quotes. White space may always
# appear between elements, it has no effect on values.
#
# <key> A required identifier
# '=' The equals sign character
# | Logical "or"
# ( ) Used for grouping
#
#
# An identifier is a string of upper or lower case letters, digits, or
# underscores subject to the requirement that the first character of an
# identifier must be a letter. Identifiers are not case sensitive (but
# values may be).
#
# Some configuration sections contain key/value pairs. A line containing
# a key/value pair has this syntax:
#
# <identifier> '=' <value>
#
# Depending on the section and key, different value types are possible:
#
# <integer> A signed integer
# <unsigned> An unsigned integer
# <flag> A boolean. 1 = true/yes/on, 0 = false/no/off.
#
# Consult the documentation on the key in question to determine the possible
# value types.
#
#
#
#-------------------------------------------------------------------------------
@@ -95,38 +60,6 @@
#
#
#
# [overlay] EXPERIMENTAL
#
# This section is EXPERIMENTAL, and should not be
# present for production configuration settings.
#
# A set of key/value pair parameters to configure the overlay.
#
# auto_connect = 0 | 1
#
# When set, activates the autoconnect feature. This maintains outgoing
# connections using the PeerFinder algorithm.
#
# use_handshake = 0 | 1
#
# Use the new HTTP handshaking interface when making outgoing
# connections. Incoming HTTP connection handshakes are automatically
# detected and switched appropriately.
#
# become_superpeer = 'never' | 'always' | 'auto'
#
# Controls the selection of peer roles:
#
# 'never' Always handshake in the leaf role.
# 'always' Always handshake in the superpeer role.
# 'auto' Start as a leaf, promote to superpeer after
# passing capability check (default).
#
# Note that in the superpeer role, the IP and port will only be
# advertised by other peers if incoming connection tests are succesful.
#
#
#
# [ips]
#
# List of hostnames or ips where the Ripple protocol is served. For a starter

View File

@@ -220,6 +220,19 @@
#define RIPPLE_SINGLE_IO_SERVICE_THREAD 0
#endif
/** Config: RIPPLE_STRUCTURED_OVERLAY_CLIENT
RIPPLE_STRUCTURED_OVERLAY_SERVER
Enables Structured Overlay support for the client or server roles.
This feature is currently in development:
https://ripplelabs.atlassian.net/browse/RIPD-157
*/
#ifndef RIPPLE_STRUCTURED_OVERLAY_CLIENT
#define RIPPLE_STRUCTURED_OVERLAY_CLIENT 0
#endif
#ifndef RIPPLE_STRUCTURED_OVERLAY_SERVER
#define RIPPLE_STRUCTURED_OVERLAY_SERVER 1
#endif
/** Config: RIPPLE_ASYNC_RPC_HANDLER
*/
#ifndef RIPPLE_ASYNC_RPC_HANDLER

View File

@@ -71,17 +71,6 @@ OverlayImpl::OverlayImpl (Stoppable& parent,
, m_resolver (resolver)
, m_nextShortId (0)
{
auto const& section = getConfig()["overlay"];
set (setup_.use_handshake, "use_handshake", section);
set (setup_.auto_connect, "auto_connect", section);
std::string promote;
set (promote, "become_superpeer", section);
if (promote == "never")
setup_.promote = Promote::never;
else if (promote == "always")
setup_.promote = Promote::always;
else
setup_.promote = Promote::automatic;
}
OverlayImpl::~OverlayImpl ()
@@ -94,12 +83,6 @@ OverlayImpl::~OverlayImpl ()
return this->m_child_count == 0; });
}
OverlayImpl::Setup const&
OverlayImpl::setup() const
{
return setup_;
}
void
OverlayImpl::accept (socket_type&& socket)
{
@@ -453,10 +436,10 @@ OverlayImpl::getActivePeers ()
ret.reserve (m_publicKeyMap.size ());
for (auto const& e : m_publicKeyMap)
for (auto const& pair : m_publicKeyMap)
{
assert (e.second);
ret.push_back (e.second);
assert (pair.second);
ret.push_back (pair.second);
}
return ret;

View File

@@ -52,29 +52,13 @@ private:
using error_code = boost::system::error_code;
using yield_context = boost::asio::yield_context;
enum class Promote
{
automatic,
never,
always
};
struct Setup
{
bool use_handshake = false;
bool auto_connect = true;
Promote promote = Promote::automatic;
};
typedef hash_map <PeerFinder::Slot::ptr,
std::weak_ptr <PeerImp>> PeersBySlot;
std::weak_ptr <PeerImp>> PeersBySlot;
typedef hash_map <RippleAddress, Peer::ptr> PeerByPublicKey;
typedef hash_map <Peer::ShortId, Peer::ptr> PeerByShortId;
Setup setup_;
// VFALCO TODO Change to regular mutex and eliminate re-entrancy
std::recursive_mutex m_mutex;
@@ -130,9 +114,6 @@ public:
OverlayImpl (OverlayImpl const&) = delete;
OverlayImpl& operator= (OverlayImpl const&) = delete;
Setup const&
setup() const;
void
connect (beast::IP::Endpoint const& remote_endpoint) override;