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.
This commit is contained in:
Vinnie Falco
2014-03-07 20:06:12 -08:00
parent e3c1375f36
commit c2fd1215f5
161 changed files with 3141 additions and 3789 deletions

View File

@@ -56,54 +56,54 @@
#define NDEBUG
#endif
#include "hyperleveldb/db/builder.cc"
#include "hyperleveldb/db/db_impl.cc"
#include "hyperleveldb/db/db_iter.cc"
#include "hyperleveldb/db/dbformat.cc"
#include "hyperleveldb/db/filename.cc"
#include "hyperleveldb/db/log_reader.cc"
#include "hyperleveldb/db/log_writer.cc"
#include "hyperleveldb/db/memtable.cc"
#include "hyperleveldb/db/repair.cc"
#include "hyperleveldb/db/replay_iterator.cc"
#include "hyperleveldb/db/table_cache.cc"
#include "hyperleveldb/db/version_edit.cc"
#include "hyperleveldb/db/version_set.cc"
#include "hyperleveldb/db/write_batch.cc"
#include "../hyperleveldb/db/builder.cc"
#include "../hyperleveldb/db/db_impl.cc"
#include "../hyperleveldb/db/db_iter.cc"
#include "../hyperleveldb/db/dbformat.cc"
#include "../hyperleveldb/db/filename.cc"
#include "../hyperleveldb/db/log_reader.cc"
#include "../hyperleveldb/db/log_writer.cc"
#include "../hyperleveldb/db/memtable.cc"
#include "../hyperleveldb/db/repair.cc"
#include "../hyperleveldb/db/replay_iterator.cc"
#include "../hyperleveldb/db/table_cache.cc"
#include "../hyperleveldb/db/version_edit.cc"
#include "../hyperleveldb/db/version_set.cc"
#include "../hyperleveldb/db/write_batch.cc"
#include "hyperleveldb/table/block.cc"
#include "hyperleveldb/table/block_builder.cc"
#include "hyperleveldb/table/filter_block.cc"
#include "hyperleveldb/table/format.cc"
#include "hyperleveldb/table/iterator.cc"
#include "hyperleveldb/table/merger.cc"
#include "hyperleveldb/table/table.cc"
#include "hyperleveldb/table/table_builder.cc"
#include "hyperleveldb/table/two_level_iterator.cc"
#include "../hyperleveldb/table/block.cc"
#include "../hyperleveldb/table/block_builder.cc"
#include "../hyperleveldb/table/filter_block.cc"
#include "../hyperleveldb/table/format.cc"
#include "../hyperleveldb/table/iterator.cc"
#include "../hyperleveldb/table/merger.cc"
#include "../hyperleveldb/table/table.cc"
#include "../hyperleveldb/table/table_builder.cc"
#include "../hyperleveldb/table/two_level_iterator.cc"
#include "hyperleveldb/util/arena.cc"
#include "hyperleveldb/util/bloom.cc"
#include "hyperleveldb/util/cache.cc"
#include "hyperleveldb/util/coding.cc"
#include "hyperleveldb/util/comparator.cc"
#include "hyperleveldb/util/crc32c.cc"
#include "hyperleveldb/util/env.cc"
#include "hyperleveldb/util/filter_policy.cc"
#include "hyperleveldb/util/hash.cc"
#include "hyperleveldb/util/histogram.cc"
#include "hyperleveldb/util/logging.cc"
#include "hyperleveldb/util/options.cc"
#include "hyperleveldb/util/status.cc"
#include "../hyperleveldb/util/arena.cc"
#include "../hyperleveldb/util/bloom.cc"
#include "../hyperleveldb/util/cache.cc"
#include "../hyperleveldb/util/coding.cc"
#include "../hyperleveldb/util/comparator.cc"
#include "../hyperleveldb/util/crc32c.cc"
#include "../hyperleveldb/util/env.cc"
#include "../hyperleveldb/util/filter_policy.cc"
#include "../hyperleveldb/util/hash.cc"
#include "../hyperleveldb/util/histogram.cc"
#include "../hyperleveldb/util/logging.cc"
#include "../hyperleveldb/util/options.cc"
#include "../hyperleveldb/util/status.cc"
// Platform Specific
#if defined (LEVELDB_PLATFORM_WINDOWS)
# include "hyperleveldb/util/env_win.cc"
# include "hyperleveldb/port/port_win.cc"
# include "../hyperleveldb/util/env_win.cc"
# include "../hyperleveldb/port/port_win.cc"
#elif defined (LEVELDB_PLATFORM_POSIX)
# include "hyperleveldb/util/env_posix.cc"
# include "hyperleveldb/port/port_posix.cc"
# include "../hyperleveldb/util/env_posix.cc"
# include "../hyperleveldb/port/port_posix.cc"
#elif defined (LEVELDB_PLATFORM_ANDROID)
# error Missing Android port!

View File

@@ -20,16 +20,16 @@
#ifndef RIPPLE_HYPERLEVELDB_H_INCLUDED
#define RIPPLE_HYPERLEVELDB_H_INCLUDED
#include "beast/beast/Config.h"
#include "../beast/beast/Config.h"
#if ! BEAST_WIN32
#define RIPPLE_HYPERLEVELDB_AVAILABLE 1
#include "hyperleveldb/hyperleveldb/cache.h"
#include "hyperleveldb/hyperleveldb/filter_policy.h"
#include "hyperleveldb/hyperleveldb/db.h"
#include "hyperleveldb/hyperleveldb/write_batch.h"
#include "../hyperleveldb/hyperleveldb/cache.h"
#include "../hyperleveldb/hyperleveldb/filter_policy.h"
#include "../hyperleveldb/hyperleveldb/db.h"
#include "../hyperleveldb/hyperleveldb/write_batch.h"
#else