You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wh...@apache.org on 2015/10/15 02:35:52 UTC
[28/51] [partial] hadoop git commit: HDFS-9207. Move the
implementation to the hdfs-native-client module. Contributed by Haohui Mai.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_op.hpp
deleted file mode 100644
index 90651f0..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_op.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// detail/win_iocp_overlapped_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_OVERLAPPED_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_OVERLAPPED_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/error.hpp"
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class win_iocp_overlapped_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_overlapped_op);
-
- win_iocp_overlapped_op(Handler& handler)
- : operation(&win_iocp_overlapped_op::do_complete),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& ec, std::size_t bytes_transferred)
- {
- // Take ownership of the operation object.
- win_iocp_overlapped_op* o(static_cast<win_iocp_overlapped_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- ASIO_HANDLER_COMPLETION((o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, asio::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_OVERLAPPED_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_ptr.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_ptr.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_ptr.hpp
deleted file mode 100644
index 7f816c5..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_overlapped_ptr.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-//
-// detail/win_iocp_overlapped_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_OVERLAPPED_PTR_HPP
-#define ASIO_DETAIL_WIN_IOCP_OVERLAPPED_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/io_service.hpp"
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/noncopyable.hpp"
-#include "asio/detail/win_iocp_overlapped_op.hpp"
-#include "asio/detail/win_iocp_io_service.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-// Wraps a handler to create an OVERLAPPED object for use with overlapped I/O.
-class win_iocp_overlapped_ptr
- : private noncopyable
-{
-public:
- // Construct an empty win_iocp_overlapped_ptr.
- win_iocp_overlapped_ptr()
- : ptr_(0),
- iocp_service_(0)
- {
- }
-
- // Construct an win_iocp_overlapped_ptr to contain the specified handler.
- template <typename Handler>
- explicit win_iocp_overlapped_ptr(
- asio::io_service& io_service, ASIO_MOVE_ARG(Handler) handler)
- : ptr_(0),
- iocp_service_(0)
- {
- this->reset(io_service, ASIO_MOVE_CAST(Handler)(handler));
- }
-
- // Destructor automatically frees the OVERLAPPED object unless released.
- ~win_iocp_overlapped_ptr()
- {
- reset();
- }
-
- // Reset to empty.
- void reset()
- {
- if (ptr_)
- {
- ptr_->destroy();
- ptr_ = 0;
- iocp_service_->work_finished();
- iocp_service_ = 0;
- }
- }
-
- // Reset to contain the specified handler, freeing any current OVERLAPPED
- // object.
- template <typename Handler>
- void reset(asio::io_service& io_service, Handler handler)
- {
- typedef win_iocp_overlapped_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(handler);
-
- ASIO_HANDLER_CREATION((p.p, "io_service",
- &io_service.impl_, "overlapped"));
-
- io_service.impl_.work_started();
- reset();
- ptr_ = p.p;
- p.v = p.p = 0;
- iocp_service_ = &io_service.impl_;
- }
-
- // Get the contained OVERLAPPED object.
- OVERLAPPED* get()
- {
- return ptr_;
- }
-
- // Get the contained OVERLAPPED object.
- const OVERLAPPED* get() const
- {
- return ptr_;
- }
-
- // Release ownership of the OVERLAPPED object.
- OVERLAPPED* release()
- {
- if (ptr_)
- iocp_service_->on_pending(ptr_);
-
- OVERLAPPED* tmp = ptr_;
- ptr_ = 0;
- iocp_service_ = 0;
- return tmp;
- }
-
- // Post completion notification for overlapped operation. Releases ownership.
- void complete(const asio::error_code& ec,
- std::size_t bytes_transferred)
- {
- if (ptr_)
- {
- iocp_service_->on_completion(ptr_, ec,
- static_cast<DWORD>(bytes_transferred));
- ptr_ = 0;
- iocp_service_ = 0;
- }
- }
-
-private:
- win_iocp_operation* ptr_;
- win_iocp_io_service* iocp_service_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_OVERLAPPED_PTR_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_serial_port_service.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_serial_port_service.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_serial_port_service.hpp
deleted file mode 100644
index 86d852c..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_serial_port_service.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-//
-// detail/win_iocp_serial_port_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-// Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SERIAL_PORT_SERVICE_HPP
-#define ASIO_DETAIL_WIN_IOCP_SERIAL_PORT_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP) && defined(ASIO_HAS_SERIAL_PORT)
-
-#include <string>
-#include "asio/error.hpp"
-#include "asio/io_service.hpp"
-#include "asio/detail/win_iocp_handle_service.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-// Extend win_iocp_handle_service to provide serial port support.
-class win_iocp_serial_port_service
-{
-public:
- // The native type of a serial port.
- typedef win_iocp_handle_service::native_handle_type native_handle_type;
-
- // The implementation type of the serial port.
- typedef win_iocp_handle_service::implementation_type implementation_type;
-
- // Constructor.
- ASIO_DECL win_iocp_serial_port_service(
- asio::io_service& io_service);
-
- // Destroy all user-defined handler objects owned by the service.
- ASIO_DECL void shutdown_service();
-
- // Construct a new serial port implementation.
- void construct(implementation_type& impl)
- {
- handle_service_.construct(impl);
- }
-
- // Move-construct a new serial port implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- handle_service_.move_construct(impl, other_impl);
- }
-
- // Move-assign from another serial port implementation.
- void move_assign(implementation_type& impl,
- win_iocp_serial_port_service& other_service,
- implementation_type& other_impl)
- {
- handle_service_.move_assign(impl,
- other_service.handle_service_, other_impl);
- }
-
- // Destroy a serial port implementation.
- void destroy(implementation_type& impl)
- {
- handle_service_.destroy(impl);
- }
-
- // Open the serial port using the specified device name.
- ASIO_DECL asio::error_code open(implementation_type& impl,
- const std::string& device, asio::error_code& ec);
-
- // Assign a native handle to a serial port implementation.
- asio::error_code assign(implementation_type& impl,
- const native_handle_type& handle, asio::error_code& ec)
- {
- return handle_service_.assign(impl, handle, ec);
- }
-
- // Determine whether the serial port is open.
- bool is_open(const implementation_type& impl) const
- {
- return handle_service_.is_open(impl);
- }
-
- // Destroy a serial port implementation.
- asio::error_code close(implementation_type& impl,
- asio::error_code& ec)
- {
- return handle_service_.close(impl, ec);
- }
-
- // Get the native serial port representation.
- native_handle_type native_handle(implementation_type& impl)
- {
- return handle_service_.native_handle(impl);
- }
-
- // Cancel all operations associated with the handle.
- asio::error_code cancel(implementation_type& impl,
- asio::error_code& ec)
- {
- return handle_service_.cancel(impl, ec);
- }
-
- // Set an option on the serial port.
- template <typename SettableSerialPortOption>
- asio::error_code set_option(implementation_type& impl,
- const SettableSerialPortOption& option, asio::error_code& ec)
- {
- return do_set_option(impl,
- &win_iocp_serial_port_service::store_option<SettableSerialPortOption>,
- &option, ec);
- }
-
- // Get an option from the serial port.
- template <typename GettableSerialPortOption>
- asio::error_code get_option(const implementation_type& impl,
- GettableSerialPortOption& option, asio::error_code& ec) const
- {
- return do_get_option(impl,
- &win_iocp_serial_port_service::load_option<GettableSerialPortOption>,
- &option, ec);
- }
-
- // Send a break sequence to the serial port.
- asio::error_code send_break(implementation_type&,
- asio::error_code& ec)
- {
- ec = asio::error::operation_not_supported;
- return ec;
- }
-
- // Write the given data. Returns the number of bytes sent.
- template <typename ConstBufferSequence>
- size_t write_some(implementation_type& impl,
- const ConstBufferSequence& buffers, asio::error_code& ec)
- {
- return handle_service_.write_some(impl, buffers, ec);
- }
-
- // Start an asynchronous write. The data being written must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_write_some(implementation_type& impl,
- const ConstBufferSequence& buffers, Handler& handler)
- {
- handle_service_.async_write_some(impl, buffers, handler);
- }
-
- // Read some data. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- size_t read_some(implementation_type& impl,
- const MutableBufferSequence& buffers, asio::error_code& ec)
- {
- return handle_service_.read_some(impl, buffers, ec);
- }
-
- // Start an asynchronous read. The buffer for the data being received must be
- // valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_read_some(implementation_type& impl,
- const MutableBufferSequence& buffers, Handler& handler)
- {
- handle_service_.async_read_some(impl, buffers, handler);
- }
-
-private:
- // Function pointer type for storing a serial port option.
- typedef asio::error_code (*store_function_type)(
- const void*, ::DCB&, asio::error_code&);
-
- // Helper function template to store a serial port option.
- template <typename SettableSerialPortOption>
- static asio::error_code store_option(const void* option,
- ::DCB& storage, asio::error_code& ec)
- {
- return static_cast<const SettableSerialPortOption*>(option)->store(
- storage, ec);
- }
-
- // Helper function to set a serial port option.
- ASIO_DECL asio::error_code do_set_option(
- implementation_type& impl, store_function_type store,
- const void* option, asio::error_code& ec);
-
- // Function pointer type for loading a serial port option.
- typedef asio::error_code (*load_function_type)(
- void*, const ::DCB&, asio::error_code&);
-
- // Helper function template to load a serial port option.
- template <typename GettableSerialPortOption>
- static asio::error_code load_option(void* option,
- const ::DCB& storage, asio::error_code& ec)
- {
- return static_cast<GettableSerialPortOption*>(option)->load(storage, ec);
- }
-
- // Helper function to get a serial port option.
- ASIO_DECL asio::error_code do_get_option(
- const implementation_type& impl, load_function_type load,
- void* option, asio::error_code& ec) const;
-
- // The implementation used for initiating asynchronous operations.
- win_iocp_handle_service handle_service_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#if defined(ASIO_HEADER_ONLY)
-# include "asio/detail/impl/win_iocp_serial_port_service.ipp"
-#endif // defined(ASIO_HEADER_ONLY)
-
-#endif // defined(ASIO_HAS_IOCP) && defined(ASIO_HAS_SERIAL_PORT)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SERIAL_PORT_SERVICE_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_accept_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_accept_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_accept_op.hpp
deleted file mode 100644
index d0d2e7d..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_accept_op.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-//
-// detail/win_iocp_socket_accept_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/detail/win_iocp_socket_service_base.hpp"
-#include "asio/error.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename Socket, typename Protocol, typename Handler>
-class win_iocp_socket_accept_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_accept_op);
-
- win_iocp_socket_accept_op(win_iocp_socket_service_base& socket_service,
- socket_type socket, Socket& peer, const Protocol& protocol,
- typename Protocol::endpoint* peer_endpoint,
- bool enable_connection_aborted, Handler& handler)
- : operation(&win_iocp_socket_accept_op::do_complete),
- socket_service_(socket_service),
- socket_(socket),
- peer_(peer),
- protocol_(protocol),
- peer_endpoint_(peer_endpoint),
- enable_connection_aborted_(enable_connection_aborted),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- socket_holder& new_socket()
- {
- return new_socket_;
- }
-
- void* output_buffer()
- {
- return output_buffer_;
- }
-
- DWORD address_length()
- {
- return sizeof(sockaddr_storage_type) + 16;
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_accept_op* o(static_cast<win_iocp_socket_accept_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- if (owner)
- {
- typename Protocol::endpoint peer_endpoint;
- std::size_t addr_len = peer_endpoint.capacity();
- socket_ops::complete_iocp_accept(o->socket_,
- o->output_buffer(), o->address_length(),
- peer_endpoint.data(), &addr_len,
- o->new_socket_.get(), ec);
-
- // Restart the accept operation if we got the connection_aborted error
- // and the enable_connection_aborted socket option is not set.
- if (ec == asio::error::connection_aborted
- && !o->enable_connection_aborted_)
- {
- o->reset();
- o->socket_service_.restart_accept_op(o->socket_,
- o->new_socket_, o->protocol_.family(),
- o->protocol_.type(), o->protocol_.protocol(),
- o->output_buffer(), o->address_length(), o);
- p.v = p.p = 0;
- return;
- }
-
- // If the socket was successfully accepted, transfer ownership of the
- // socket to the peer object.
- if (!ec)
- {
- o->peer_.assign(o->protocol_,
- typename Socket::native_handle_type(
- o->new_socket_.get(), peer_endpoint), ec);
- if (!ec)
- o->new_socket_.release();
- }
-
- // Pass endpoint back to caller.
- if (o->peer_endpoint_)
- *o->peer_endpoint_ = peer_endpoint;
- }
-
- ASIO_HANDLER_COMPLETION((o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, asio::error_code>
- handler(o->handler_, ec);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- win_iocp_socket_service_base& socket_service_;
- socket_type socket_;
- socket_holder new_socket_;
- Socket& peer_;
- Protocol protocol_;
- typename Protocol::endpoint* peer_endpoint_;
- unsigned char output_buffer_[(sizeof(sockaddr_storage_type) + 16) * 2];
- bool enable_connection_aborted_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_connect_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_connect_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_connect_op.hpp
deleted file mode 100644
index 4472d25..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_connect_op.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//
-// detail/win_iocp_socket_connect_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/reactor_op.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/error.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-class win_iocp_socket_connect_op_base : public reactor_op
-{
-public:
- win_iocp_socket_connect_op_base(socket_type socket, func_type complete_func)
- : reactor_op(&win_iocp_socket_connect_op_base::do_perform, complete_func),
- socket_(socket),
- connect_ex_(false)
- {
- }
-
- static bool do_perform(reactor_op* base)
- {
- win_iocp_socket_connect_op_base* o(
- static_cast<win_iocp_socket_connect_op_base*>(base));
-
- return socket_ops::non_blocking_connect(o->socket_, o->ec_);
- }
-
- socket_type socket_;
- bool connect_ex_;
-};
-
-template <typename Handler>
-class win_iocp_socket_connect_op : public win_iocp_socket_connect_op_base
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_connect_op);
-
- win_iocp_socket_connect_op(socket_type socket, Handler& handler)
- : win_iocp_socket_connect_op_base(socket,
- &win_iocp_socket_connect_op::do_complete),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_connect_op* o(
- static_cast<win_iocp_socket_connect_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- if (owner)
- {
- if (o->connect_ex_)
- socket_ops::complete_iocp_connect(o->socket_, ec);
- else
- ec = o->ec_;
- }
-
- ASIO_HANDLER_COMPLETION((o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, asio::error_code>
- handler(o->handler_, ec);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recv_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recv_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recv_op.hpp
deleted file mode 100644
index ebd2131..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recv_op.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// detail/win_iocp_socket_recv_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/error.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Handler>
-class win_iocp_socket_recv_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recv_op);
-
- win_iocp_socket_recv_op(socket_ops::state_type state,
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_recv_op::do_complete),
- state_(state),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recv_op* o(static_cast<win_iocp_socket_recv_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- ASIO_HANDLER_COMPLETION((o));
-
-#if defined(ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recv(o->state_, o->cancel_token_,
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence>::all_empty(o->buffers_),
- ec, bytes_transferred);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, asio::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::state_type state_;
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvfrom_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvfrom_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvfrom_op.hpp
deleted file mode 100644
index 8a20db1..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvfrom_op.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// detail/win_iocp_socket_recvfrom_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/error.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Endpoint, typename Handler>
-class win_iocp_socket_recvfrom_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recvfrom_op);
-
- win_iocp_socket_recvfrom_op(Endpoint& endpoint,
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_recvfrom_op::do_complete),
- endpoint_(endpoint),
- endpoint_size_(static_cast<int>(endpoint.capacity())),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- int& endpoint_size()
- {
- return endpoint_size_;
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recvfrom_op* o(
- static_cast<win_iocp_socket_recvfrom_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- ASIO_HANDLER_COMPLETION((o));
-
-#if defined(ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recvfrom(o->cancel_token_, ec);
-
- // Record the size of the endpoint returned by the operation.
- o->endpoint_.resize(o->endpoint_size_);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, asio::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Endpoint& endpoint_;
- int endpoint_size_;
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvmsg_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvmsg_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvmsg_op.hpp
deleted file mode 100644
index 1699b28..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_recvmsg_op.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//
-// detail/win_iocp_socket_recvmsg_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/error.hpp"
-#include "asio/socket_base.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Handler>
-class win_iocp_socket_recvmsg_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recvmsg_op);
-
- win_iocp_socket_recvmsg_op(
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers,
- socket_base::message_flags& out_flags, Handler& handler)
- : operation(&win_iocp_socket_recvmsg_op::do_complete),
- cancel_token_(cancel_token),
- buffers_(buffers),
- out_flags_(out_flags),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recvmsg_op* o(
- static_cast<win_iocp_socket_recvmsg_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- ASIO_HANDLER_COMPLETION((o));
-
-#if defined(ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recvmsg(o->cancel_token_, ec);
- o->out_flags_ = 0;
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, asio::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- socket_base::message_flags& out_flags_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_send_op.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_send_op.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_send_op.hpp
deleted file mode 100644
index 455de90..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_send_op.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// detail/win_iocp_socket_send_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/error.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename ConstBufferSequence, typename Handler>
-class win_iocp_socket_send_op : public operation
-{
-public:
- ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_send_op);
-
- win_iocp_socket_send_op(socket_ops::weak_cancel_token_type cancel_token,
- const ConstBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_send_op::do_complete),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- static void do_complete(io_service_impl* owner, operation* base,
- const asio::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- asio::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_send_op* o(static_cast<win_iocp_socket_send_op*>(base));
- ptr p = { asio::detail::addressof(o->handler_), o, o };
-
- ASIO_HANDLER_COMPLETION((o));
-
-#if defined(ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<asio::const_buffer,
- ConstBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_send(o->cancel_token_, ec);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, asio::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- asio_handler_invoke_helpers::invoke(handler, handler.handler_);
- ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- ConstBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service.hpp
deleted file mode 100644
index a3c5dec..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service.hpp
+++ /dev/null
@@ -1,525 +0,0 @@
-//
-// detail/win_iocp_socket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include <cstring>
-#include "asio/error.hpp"
-#include "asio/io_service.hpp"
-#include "asio/socket_base.hpp"
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/mutex.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/reactor.hpp"
-#include "asio/detail/reactor_op.hpp"
-#include "asio/detail/socket_holder.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/detail/socket_types.hpp"
-#include "asio/detail/win_iocp_io_service.hpp"
-#include "asio/detail/win_iocp_null_buffers_op.hpp"
-#include "asio/detail/win_iocp_socket_accept_op.hpp"
-#include "asio/detail/win_iocp_socket_connect_op.hpp"
-#include "asio/detail/win_iocp_socket_recvfrom_op.hpp"
-#include "asio/detail/win_iocp_socket_send_op.hpp"
-#include "asio/detail/win_iocp_socket_service_base.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class win_iocp_socket_service : public win_iocp_socket_service_base
-{
-public:
- // The protocol type.
- typedef Protocol protocol_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The native type of a socket.
- class native_handle_type
- {
- public:
- native_handle_type(socket_type s)
- : socket_(s),
- have_remote_endpoint_(false)
- {
- }
-
- native_handle_type(socket_type s, const endpoint_type& ep)
- : socket_(s),
- have_remote_endpoint_(true),
- remote_endpoint_(ep)
- {
- }
-
- void operator=(socket_type s)
- {
- socket_ = s;
- have_remote_endpoint_ = false;
- remote_endpoint_ = endpoint_type();
- }
-
- operator socket_type() const
- {
- return socket_;
- }
-
- bool have_remote_endpoint() const
- {
- return have_remote_endpoint_;
- }
-
- endpoint_type remote_endpoint() const
- {
- return remote_endpoint_;
- }
-
- private:
- socket_type socket_;
- bool have_remote_endpoint_;
- endpoint_type remote_endpoint_;
- };
-
- // The implementation type of the socket.
- struct implementation_type :
- win_iocp_socket_service_base::base_implementation_type
- {
- // Default constructor.
- implementation_type()
- : protocol_(endpoint_type().protocol()),
- have_remote_endpoint_(false),
- remote_endpoint_()
- {
- }
-
- // The protocol associated with the socket.
- protocol_type protocol_;
-
- // Whether we have a cached remote endpoint.
- bool have_remote_endpoint_;
-
- // A cached remote endpoint.
- endpoint_type remote_endpoint_;
- };
-
- // Constructor.
- win_iocp_socket_service(asio::io_service& io_service)
- : win_iocp_socket_service_base(io_service)
- {
- }
-
- // Move-construct a new socket implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = endpoint_type();
- }
-
- // Move-assign from another socket implementation.
- void move_assign(implementation_type& impl,
- win_iocp_socket_service_base& other_service,
- implementation_type& other_impl)
- {
- this->base_move_assign(impl, other_service, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = endpoint_type();
- }
-
- // Move-construct a new socket implementation from another protocol type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type& impl,
- typename win_iocp_socket_service<
- Protocol1>::implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = protocol_type(other_impl.protocol_);
- other_impl.protocol_ = typename Protocol1::endpoint().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = typename Protocol1::endpoint();
- }
-
- // Open a new socket implementation.
- asio::error_code open(implementation_type& impl,
- const protocol_type& protocol, asio::error_code& ec)
- {
- if (!do_open(impl, protocol.family(),
- protocol.type(), protocol.protocol(), ec))
- {
- impl.protocol_ = protocol;
- impl.have_remote_endpoint_ = false;
- impl.remote_endpoint_ = endpoint_type();
- }
- return ec;
- }
-
- // Assign a native socket to a socket implementation.
- asio::error_code assign(implementation_type& impl,
- const protocol_type& protocol, const native_handle_type& native_socket,
- asio::error_code& ec)
- {
- if (!do_assign(impl, protocol.type(), native_socket, ec))
- {
- impl.protocol_ = protocol;
- impl.have_remote_endpoint_ = native_socket.have_remote_endpoint();
- impl.remote_endpoint_ = native_socket.remote_endpoint();
- }
- return ec;
- }
-
- // Get the native socket representation.
- native_handle_type native_handle(implementation_type& impl)
- {
- if (impl.have_remote_endpoint_)
- return native_handle_type(impl.socket_, impl.remote_endpoint_);
- return native_handle_type(impl.socket_);
- }
-
- // Bind the socket to the specified local endpoint.
- asio::error_code bind(implementation_type& impl,
- const endpoint_type& endpoint, asio::error_code& ec)
- {
- socket_ops::bind(impl.socket_, endpoint.data(), endpoint.size(), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- asio::error_code set_option(implementation_type& impl,
- const Option& option, asio::error_code& ec)
- {
- socket_ops::setsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), option.size(impl.protocol_), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- asio::error_code get_option(const implementation_type& impl,
- Option& option, asio::error_code& ec) const
- {
- std::size_t size = option.size(impl.protocol_);
- socket_ops::getsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), &size, ec);
- if (!ec)
- option.resize(impl.protocol_, size);
- return ec;
- }
-
- // Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type& impl,
- asio::error_code& ec) const
- {
- endpoint_type endpoint;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getsockname(impl.socket_, endpoint.data(), &addr_len, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type& impl,
- asio::error_code& ec) const
- {
- endpoint_type endpoint = impl.remote_endpoint_;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getpeername(impl.socket_, endpoint.data(),
- &addr_len, impl.have_remote_endpoint_, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Send a datagram to the specified endpoint. Returns the number of bytes
- // sent.
- template <typename ConstBufferSequence>
- size_t send_to(implementation_type& impl, const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- asio::error_code& ec)
- {
- buffer_sequence_adapter<asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_sendto(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags,
- destination.data(), destination.size(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags,
- asio::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send_to(implementation_type& impl,
- const ConstBufferSequence& buffers, const endpoint_type& destination,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_send_to"));
-
- buffer_sequence_adapter<asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- start_send_to_op(impl, bufs.buffers(), bufs.count(),
- destination.data(), static_cast<int>(destination.size()),
- flags, p.p);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket",
- &impl, "async_send_to(null_buffers)"));
-
- start_reactor_op(impl, reactor::write_op, p.p);
- p.v = p.p = 0;
- }
-
- // Receive a datagram with the endpoint of the sender. Returns the number of
- // bytes received.
- template <typename MutableBufferSequence>
- size_t receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags,
- asio::error_code& ec)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- std::size_t addr_len = sender_endpoint.capacity();
- std::size_t bytes_recvd = socket_ops::sync_recvfrom(
- impl.socket_, impl.state_, bufs.buffers(), bufs.count(),
- flags, sender_endpoint.data(), &addr_len, ec);
-
- if (!ec)
- sender_endpoint.resize(addr_len);
-
- return bytes_recvd;
- }
-
- // Wait until data can be received without blocking.
- size_t receive_from(implementation_type& impl,
- const null_buffers&, endpoint_type& sender_endpoint,
- socket_base::message_flags, asio::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, ec);
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received and
- // the sender_endpoint object must both be valid for the lifetime of the
- // asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers, endpoint_type& sender_endp,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recvfrom_op<
- MutableBufferSequence, endpoint_type, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(sender_endp, impl.cancel_token_, buffers, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_receive_from"));
-
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_from_op(impl, bufs.buffers(), bufs.count(),
- sender_endp.data(), flags, &p.p->endpoint_size(), p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_from(implementation_type& impl,
- const null_buffers&, endpoint_type& sender_endpoint,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl,
- "async_receive_from(null_buffers)"));
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- start_null_buffers_receive_op(impl, flags, p.p);
- p.v = p.p = 0;
- }
-
- // Accept a new connection.
- template <typename Socket>
- asio::error_code accept(implementation_type& impl, Socket& peer,
- endpoint_type* peer_endpoint, asio::error_code& ec)
- {
- // We cannot accept a socket that is already open.
- if (peer.is_open())
- {
- ec = asio::error::already_open;
- return ec;
- }
-
- std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0;
- socket_holder new_socket(socket_ops::sync_accept(impl.socket_,
- impl.state_, peer_endpoint ? peer_endpoint->data() : 0,
- peer_endpoint ? &addr_len : 0, ec));
-
- // On success, assign new connection to peer socket object.
- if (new_socket.get() != invalid_socket)
- {
- if (peer_endpoint)
- peer_endpoint->resize(addr_len);
- if (!peer.assign(impl.protocol_, new_socket.get(), ec))
- new_socket.release();
- }
-
- return ec;
- }
-
- // Start an asynchronous accept. The peer and peer_endpoint objects
- // must be valid until the accept's handler is invoked.
- template <typename Socket, typename Handler>
- void async_accept(implementation_type& impl, Socket& peer,
- endpoint_type* peer_endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_accept_op<Socket, protocol_type, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- bool enable_connection_aborted =
- (impl.state_ & socket_ops::enable_connection_aborted) != 0;
- p.p = new (p.v) op(*this, impl.socket_, peer, impl.protocol_,
- peer_endpoint, enable_connection_aborted, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_accept"));
-
- start_accept_op(impl, peer.is_open(), p.p->new_socket(),
- impl.protocol_.family(), impl.protocol_.type(),
- impl.protocol_.protocol(), p.p->output_buffer(),
- p.p->address_length(), p.p);
- p.v = p.p = 0;
- }
-
- // Connect the socket to the specified endpoint.
- asio::error_code connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, asio::error_code& ec)
- {
- socket_ops::sync_connect(impl.socket_,
- peer_endpoint.data(), peer_endpoint.size(), ec);
- return ec;
- }
-
- // Start an asynchronous connect.
- template <typename Handler>
- void async_connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_connect_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.socket_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_connect"));
-
- start_connect_op(impl, impl.protocol_.family(), impl.protocol_.type(),
- peer_endpoint.data(), static_cast<int>(peer_endpoint.size()), p.p);
- p.v = p.p = 0;
- }
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service_base.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service_base.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service_base.hpp
deleted file mode 100644
index f1584fd..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_socket_service_base.hpp
+++ /dev/null
@@ -1,524 +0,0 @@
-//
-// detail/win_iocp_socket_service_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
-#define ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_HAS_IOCP)
-
-#include "asio/error.hpp"
-#include "asio/io_service.hpp"
-#include "asio/socket_base.hpp"
-#include "asio/detail/addressof.hpp"
-#include "asio/detail/bind_handler.hpp"
-#include "asio/detail/buffer_sequence_adapter.hpp"
-#include "asio/detail/fenced_block.hpp"
-#include "asio/detail/handler_alloc_helpers.hpp"
-#include "asio/detail/handler_invoke_helpers.hpp"
-#include "asio/detail/mutex.hpp"
-#include "asio/detail/operation.hpp"
-#include "asio/detail/reactor.hpp"
-#include "asio/detail/reactor_op.hpp"
-#include "asio/detail/socket_holder.hpp"
-#include "asio/detail/socket_ops.hpp"
-#include "asio/detail/socket_types.hpp"
-#include "asio/detail/win_iocp_io_service.hpp"
-#include "asio/detail/win_iocp_null_buffers_op.hpp"
-#include "asio/detail/win_iocp_socket_connect_op.hpp"
-#include "asio/detail/win_iocp_socket_send_op.hpp"
-#include "asio/detail/win_iocp_socket_recv_op.hpp"
-#include "asio/detail/win_iocp_socket_recvmsg_op.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-class win_iocp_socket_service_base
-{
-public:
- // The implementation type of the socket.
- struct base_implementation_type
- {
- // The native socket representation.
- socket_type socket_;
-
- // The current state of the socket.
- socket_ops::state_type state_;
-
- // We use a shared pointer as a cancellation token here to work around the
- // broken Windows support for cancellation. MSDN says that when you call
- // closesocket any outstanding WSARecv or WSASend operations will complete
- // with the error ERROR_OPERATION_ABORTED. In practice they complete with
- // ERROR_NETNAME_DELETED, which means you can't tell the difference between
- // a local cancellation and the socket being hard-closed by the peer.
- socket_ops::shared_cancel_token_type cancel_token_;
-
- // Per-descriptor data used by the reactor.
- reactor::per_descriptor_data reactor_data_;
-
-#if defined(ASIO_ENABLE_CANCELIO)
- // The ID of the thread from which it is safe to cancel asynchronous
- // operations. 0 means no asynchronous operations have been started yet.
- // ~0 means asynchronous operations have been started from more than one
- // thread, and cancellation is not supported for the socket.
- DWORD safe_cancellation_thread_id_;
-#endif // defined(ASIO_ENABLE_CANCELIO)
-
- // Pointers to adjacent socket implementations in linked list.
- base_implementation_type* next_;
- base_implementation_type* prev_;
- };
-
- // Constructor.
- ASIO_DECL win_iocp_socket_service_base(
- asio::io_service& io_service);
-
- // Destroy all user-defined handler objects owned by the service.
- ASIO_DECL void shutdown_service();
-
- // Construct a new socket implementation.
- ASIO_DECL void construct(base_implementation_type& impl);
-
- // Move-construct a new socket implementation.
- ASIO_DECL void base_move_construct(base_implementation_type& impl,
- base_implementation_type& other_impl);
-
- // Move-assign from another socket implementation.
- ASIO_DECL void base_move_assign(base_implementation_type& impl,
- win_iocp_socket_service_base& other_service,
- base_implementation_type& other_impl);
-
- // Destroy a socket implementation.
- ASIO_DECL void destroy(base_implementation_type& impl);
-
- // Determine whether the socket is open.
- bool is_open(const base_implementation_type& impl) const
- {
- return impl.socket_ != invalid_socket;
- }
-
- // Destroy a socket implementation.
- ASIO_DECL asio::error_code close(
- base_implementation_type& impl, asio::error_code& ec);
-
- // Cancel all operations associated with the socket.
- ASIO_DECL asio::error_code cancel(
- base_implementation_type& impl, asio::error_code& ec);
-
- // Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const base_implementation_type& impl,
- asio::error_code& ec) const
- {
- return socket_ops::sockatmark(impl.socket_, ec);
- }
-
- // Determine the number of bytes available for reading.
- std::size_t available(const base_implementation_type& impl,
- asio::error_code& ec) const
- {
- return socket_ops::available(impl.socket_, ec);
- }
-
- // Place the socket into the state where it will listen for new connections.
- asio::error_code listen(base_implementation_type& impl,
- int backlog, asio::error_code& ec)
- {
- socket_ops::listen(impl.socket_, backlog, ec);
- return ec;
- }
-
- // Perform an IO control command on the socket.
- template <typename IO_Control_Command>
- asio::error_code io_control(base_implementation_type& impl,
- IO_Control_Command& command, asio::error_code& ec)
- {
- socket_ops::ioctl(impl.socket_, impl.state_, command.name(),
- static_cast<ioctl_arg_type*>(command.data()), ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the socket.
- bool non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::user_set_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the socket.
- asio::error_code non_blocking(base_implementation_type& impl,
- bool mode, asio::error_code& ec)
- {
- socket_ops::set_user_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::internal_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the native socket implementation.
- asio::error_code native_non_blocking(base_implementation_type& impl,
- bool mode, asio::error_code& ec)
- {
- socket_ops::set_internal_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Disable sends or receives on the socket.
- asio::error_code shutdown(base_implementation_type& impl,
- socket_base::shutdown_type what, asio::error_code& ec)
- {
- socket_ops::shutdown(impl.socket_, what, ec);
- return ec;
- }
-
- // Send the given data to the peer. Returns the number of bytes sent.
- template <typename ConstBufferSequence>
- size_t send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, asio::error_code& ec)
- {
- buffer_sequence_adapter<asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_send(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, asio::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_send"));
-
- buffer_sequence_adapter<asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- start_send_op(impl, bufs.buffers(), bufs.count(), flags,
- (impl.state_ & socket_ops::stream_oriented) != 0 && bufs.all_empty(),
- p.p);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket",
- &impl, "async_send(null_buffers)"));
-
- start_reactor_op(impl, reactor::write_op, p.p);
- p.v = p.p = 0;
- }
-
- // Receive some data from the peer. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- size_t receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, asio::error_code& ec)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recv(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, asio::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, ec);
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recv_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.state_, impl.cancel_token_, buffers, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl, "async_receive"));
-
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_op(impl, bufs.buffers(), bufs.count(), flags,
- (impl.state_ & socket_ops::stream_oriented) != 0 && bufs.all_empty(),
- p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket",
- &impl, "async_receive(null_buffers)"));
-
- start_null_buffers_receive_op(impl, flags, p.p);
- p.v = p.p = 0;
- }
-
- // Receive some data with associated flags. Returns the number of bytes
- // received.
- template <typename MutableBufferSequence>
- size_t receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, asio::error_code& ec)
- {
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recvmsg(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), in_flags, out_flags, ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags,
- socket_base::message_flags& out_flags, asio::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, ec);
-
- // Clear out_flags, since we cannot give it any other sensible value when
- // performing a null_buffers operation.
- out_flags = 0;
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recvmsg_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, out_flags, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket",
- &impl, "async_receive_with_flags"));
-
- buffer_sequence_adapter<asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_op(impl, bufs.buffers(), bufs.count(), in_flags, false, p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { asio::detail::addressof(handler),
- asio_handler_alloc_helpers::allocate(
- sizeof(op), handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- ASIO_HANDLER_CREATION((p.p, "socket", &impl,
- "async_receive_with_flags(null_buffers)"));
-
- // Reset out_flags since it can be given no sensible value at this time.
- out_flags = 0;
-
- start_null_buffers_receive_op(impl, in_flags, p.p);
- p.v = p.p = 0;
- }
-
- // Helper function to restart an asynchronous accept operation.
- ASIO_DECL void restart_accept_op(socket_type s,
- socket_holder& new_socket, int family, int type, int protocol,
- void* output_buffer, DWORD address_length, operation* op);
-
-protected:
- // Open a new socket implementation.
- ASIO_DECL asio::error_code do_open(
- base_implementation_type& impl, int family, int type,
- int protocol, asio::error_code& ec);
-
- // Assign a native socket to a socket implementation.
- ASIO_DECL asio::error_code do_assign(
- base_implementation_type& impl, int type,
- socket_type native_socket, asio::error_code& ec);
-
- // Helper function to start an asynchronous send operation.
- ASIO_DECL void start_send_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op);
-
- // Helper function to start an asynchronous send_to operation.
- ASIO_DECL void start_send_to_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- const socket_addr_type* addr, int addrlen,
- socket_base::message_flags flags, operation* op);
-
- // Helper function to start an asynchronous receive operation.
- ASIO_DECL void start_receive_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op);
-
- // Helper function to start an asynchronous null_buffers receive operation.
- ASIO_DECL void start_null_buffers_receive_op(
- base_implementation_type& impl,
- socket_base::message_flags flags, reactor_op* op);
-
- // Helper function to start an asynchronous receive_from operation.
- ASIO_DECL void start_receive_from_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count, socket_addr_type* addr,
- socket_base::message_flags flags, int* addrlen, operation* op);
-
- // Helper function to start an asynchronous accept operation.
- ASIO_DECL void start_accept_op(base_implementation_type& impl,
- bool peer_is_open, socket_holder& new_socket, int family, int type,
- int protocol, void* output_buffer, DWORD address_length, operation* op);
-
- // Start an asynchronous read or write operation using the reactor.
- ASIO_DECL void start_reactor_op(base_implementation_type& impl,
- int op_type, reactor_op* op);
-
- // Start the asynchronous connect operation using the reactor.
- ASIO_DECL void start_connect_op(base_implementation_type& impl,
- int family, int type, const socket_addr_type* remote_addr,
- std::size_t remote_addrlen, win_iocp_socket_connect_op_base* op);
-
- // Helper function to close a socket when the associated object is being
- // destroyed.
- ASIO_DECL void close_for_destruction(base_implementation_type& impl);
-
- // Update the ID of the thread from which cancellation is safe.
- ASIO_DECL void update_cancellation_thread_id(
- base_implementation_type& impl);
-
- // Helper function to get the reactor. If no reactor has been created yet, a
- // new one is obtained from the io_service and a pointer to it is cached in
- // this service.
- ASIO_DECL reactor& get_reactor();
-
- // The type of a ConnectEx function pointer, as old SDKs may not provide it.
- typedef BOOL (PASCAL *connect_ex_fn)(SOCKET,
- const socket_addr_type*, int, void*, DWORD, DWORD*, OVERLAPPED*);
-
- // Helper function to get the ConnectEx pointer. If no ConnectEx pointer has
- // been obtained yet, one is obtained using WSAIoctl and the pointer is
- // cached. Returns a null pointer if ConnectEx is not available.
- ASIO_DECL connect_ex_fn get_connect_ex(
- base_implementation_type& impl, int type);
-
- // Helper function to emulate InterlockedCompareExchangePointer functionality
- // for:
- // - very old Platform SDKs; and
- // - platform SDKs where MSVC's /Wp64 option causes spurious warnings.
- ASIO_DECL void* interlocked_compare_exchange_pointer(
- void** dest, void* exch, void* cmp);
-
- // Helper function to emulate InterlockedExchangePointer functionality for:
- // - very old Platform SDKs; and
- // - platform SDKs where MSVC's /Wp64 option causes spurious warnings.
- ASIO_DECL void* interlocked_exchange_pointer(void** dest, void* val);
-
- // The io_service used to obtain the reactor, if required.
- asio::io_service& io_service_;
-
- // The IOCP service used for running asynchronous operations and dispatching
- // handlers.
- win_iocp_io_service& iocp_service_;
-
- // The reactor used for performing connect operations. This object is created
- // only if needed.
- reactor* reactor_;
-
- // Pointer to ConnectEx implementation.
- void* connect_ex_;
-
- // Mutex to protect access to the linked list of implementations.
- asio::detail::mutex mutex_;
-
- // The head of a linked list of all implementations.
- base_implementation_type* impl_list_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#if defined(ASIO_HEADER_ONLY)
-# include "asio/detail/impl/win_iocp_socket_service_base.ipp"
-#endif // defined(ASIO_HEADER_ONLY)
-
-#endif // defined(ASIO_HAS_IOCP)
-
-#endif // ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_thread_info.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_thread_info.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_thread_info.hpp
deleted file mode 100644
index 55a3c8e..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_iocp_thread_info.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// detail/win_iocp_thread_info.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
-#define ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/thread_info_base.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-struct win_iocp_thread_info : public thread_info_base
-{
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#endif // ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4cd3b992/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_mutex.hpp
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_mutex.hpp b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_mutex.hpp
deleted file mode 100644
index 0ced34b..0000000
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/third_party/asio-1.10.2/include/asio/detail/win_mutex.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// detail/win_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef ASIO_DETAIL_WIN_MUTEX_HPP
-#define ASIO_DETAIL_WIN_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include "asio/detail/config.hpp"
-
-#if defined(ASIO_WINDOWS)
-
-#include "asio/detail/noncopyable.hpp"
-#include "asio/detail/scoped_lock.hpp"
-#include "asio/detail/socket_types.hpp"
-
-#include "asio/detail/push_options.hpp"
-
-namespace asio {
-namespace detail {
-
-class win_mutex
- : private noncopyable
-{
-public:
- typedef asio::detail::scoped_lock<win_mutex> scoped_lock;
-
- // Constructor.
- ASIO_DECL win_mutex();
-
- // Destructor.
- ~win_mutex()
- {
- ::DeleteCriticalSection(&crit_section_);
- }
-
- // Lock the mutex.
- void lock()
- {
- ::EnterCriticalSection(&crit_section_);
- }
-
- // Unlock the mutex.
- void unlock()
- {
- ::LeaveCriticalSection(&crit_section_);
- }
-
-private:
- // Initialisation must be performed in a separate function to the constructor
- // since the compiler does not support the use of structured exceptions and
- // C++ exceptions in the same function.
- ASIO_DECL int do_init();
-
- ::CRITICAL_SECTION crit_section_;
-};
-
-} // namespace detail
-} // namespace asio
-
-#include "asio/detail/pop_options.hpp"
-
-#if defined(ASIO_HEADER_ONLY)
-# include "asio/detail/impl/win_mutex.ipp"
-#endif // defined(ASIO_HEADER_ONLY)
-
-#endif // defined(ASIO_WINDOWS)
-
-#endif // ASIO_DETAIL_WIN_MUTEX_HPP