summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/asio/socket_base.hpp')
-rw-r--r--3rdParty/Boost/src/boost/asio/socket_base.hpp62
1 files changed, 32 insertions, 30 deletions
diff --git a/3rdParty/Boost/src/boost/asio/socket_base.hpp b/3rdParty/Boost/src/boost/asio/socket_base.hpp
index f964d00..e034d67 100644
--- a/3rdParty/Boost/src/boost/asio/socket_base.hpp
+++ b/3rdParty/Boost/src/boost/asio/socket_base.hpp
@@ -1,28 +1,27 @@
//
// socket_base.hpp
// ~~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// 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 BOOST_ASIO_SOCKET_BASE_HPP
#define BOOST_ASIO_SOCKET_BASE_HPP
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
#include <boost/asio/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
#include <boost/asio/detail/io_control.hpp>
#include <boost/asio/detail/socket_option.hpp>
#include <boost/asio/detail/socket_types.hpp>
#include <boost/asio/detail/push_options.hpp>
namespace boost {
namespace asio {
@@ -39,21 +38,21 @@ public:
/// Shutdown the receive side of the socket.
shutdown_receive = implementation_defined,
/// Shutdown the send side of the socket.
shutdown_send = implementation_defined,
/// Shutdown both send and receive on the socket.
shutdown_both = implementation_defined
#else
- shutdown_receive = boost::asio::detail::shutdown_receive,
- shutdown_send = boost::asio::detail::shutdown_send,
- shutdown_both = boost::asio::detail::shutdown_both
+ shutdown_receive = BOOST_ASIO_OS_DEF(SHUT_RD),
+ shutdown_send = BOOST_ASIO_OS_DEF(SHUT_WR),
+ shutdown_both = BOOST_ASIO_OS_DEF(SHUT_RDWR)
#endif
};
/// Bitmask type for flags that can be passed to send and receive operations.
typedef int message_flags;
#if defined(GENERATING_DOCUMENTATION)
/// Peek at incoming data without removing it from the input queue.
static const int message_peek = implementation_defined;
@@ -61,26 +60,26 @@ public:
/// Process out-of-band data.
static const int message_out_of_band = implementation_defined;
/// Specify that the data should not be subject to routing.
static const int message_do_not_route = implementation_defined;
/// Specifies that the data marks the end of a record.
static const int message_end_of_record = implementation_defined;
#else
- BOOST_STATIC_CONSTANT(int,
- message_peek = boost::asio::detail::message_peek);
- BOOST_STATIC_CONSTANT(int,
- message_out_of_band = boost::asio::detail::message_out_of_band);
- BOOST_STATIC_CONSTANT(int,
- message_do_not_route = boost::asio::detail::message_do_not_route);
- BOOST_STATIC_CONSTANT(int,
- message_end_of_record = boost::asio::detail::message_end_of_record);
+ BOOST_ASIO_STATIC_CONSTANT(int,
+ message_peek = BOOST_ASIO_OS_DEF(MSG_PEEK));
+ BOOST_ASIO_STATIC_CONSTANT(int,
+ message_out_of_band = BOOST_ASIO_OS_DEF(MSG_OOB));
+ BOOST_ASIO_STATIC_CONSTANT(int,
+ message_do_not_route = BOOST_ASIO_OS_DEF(MSG_DONTROUTE));
+ BOOST_ASIO_STATIC_CONSTANT(int,
+ message_end_of_record = BOOST_ASIO_OS_DEF(MSG_EOR));
#endif
/// Socket option to permit sending of broadcast messages.
/**
* Implements the SOL_SOCKET/SO_BROADCAST socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -101,19 +100,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Boolean_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined broadcast;
#else
typedef boost::asio::detail::socket_option::boolean<
- SOL_SOCKET, SO_BROADCAST> broadcast;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_BROADCAST)>
+ broadcast;
#endif
/// Socket option to enable socket-level debugging.
/**
* Implements the SOL_SOCKET/SO_DEBUG socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -134,19 +134,19 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Boolean_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined debug;
#else
typedef boost::asio::detail::socket_option::boolean<
- SOL_SOCKET, SO_DEBUG> debug;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_DEBUG)> debug;
#endif
/// Socket option to prevent routing, use local interfaces only.
/**
* Implements the SOL_SOCKET/SO_DONTROUTE socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -167,19 +167,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Boolean_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined do_not_route;
#else
typedef boost::asio::detail::socket_option::boolean<
- SOL_SOCKET, SO_DONTROUTE> do_not_route;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_DONTROUTE)>
+ do_not_route;
#endif
/// Socket option to send keep-alives.
/**
* Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -200,19 +201,19 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Boolean_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined keep_alive;
#else
typedef boost::asio::detail::socket_option::boolean<
- SOL_SOCKET, SO_KEEPALIVE> keep_alive;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_KEEPALIVE)> keep_alive;
#endif
/// Socket option for the send buffer size of a socket.
/**
* Implements the SOL_SOCKET/SO_SNDBUF socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -233,19 +234,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Integer_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined send_buffer_size;
#else
typedef boost::asio::detail::socket_option::integer<
- SOL_SOCKET, SO_SNDBUF> send_buffer_size;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_SNDBUF)>
+ send_buffer_size;
#endif
/// Socket option for the send low watermark.
/**
* Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -266,19 +268,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Integer_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined send_low_watermark;
#else
typedef boost::asio::detail::socket_option::integer<
- SOL_SOCKET, SO_SNDLOWAT> send_low_watermark;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_SNDLOWAT)>
+ send_low_watermark;
#endif
/// Socket option for the receive buffer size of a socket.
/**
* Implements the SOL_SOCKET/SO_RCVBUF socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -299,19 +302,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Integer_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined receive_buffer_size;
#else
typedef boost::asio::detail::socket_option::integer<
- SOL_SOCKET, SO_RCVBUF> receive_buffer_size;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_RCVBUF)>
+ receive_buffer_size;
#endif
/// Socket option for the receive low watermark.
/**
* Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
*
* @par Examples
* Setting the option:
* @code
@@ -332,19 +336,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Integer_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined receive_low_watermark;
#else
typedef boost::asio::detail::socket_option::integer<
- SOL_SOCKET, SO_RCVLOWAT> receive_low_watermark;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_RCVLOWAT)>
+ receive_low_watermark;
#endif
/// Socket option to allow the socket to be bound to an address that is
/// already in use.
/**
* Implements the SOL_SOCKET/SO_REUSEADDR socket option.
*
* @par Examples
* Setting the option:
@@ -366,19 +371,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Boolean_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined reuse_address;
#else
typedef boost::asio::detail::socket_option::boolean<
- SOL_SOCKET, SO_REUSEADDR> reuse_address;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_REUSEADDR)>
+ reuse_address;
#endif
/// Socket option to specify whether the socket lingers on close if unsent
/// data is present.
/**
* Implements the SOL_SOCKET/SO_LINGER socket option.
*
* @par Examples
* Setting the option:
@@ -401,19 +407,20 @@ public:
* @endcode
*
* @par Concepts:
* Socket_Option, Linger_Socket_Option.
*/
#if defined(GENERATING_DOCUMENTATION)
typedef implementation_defined linger;
#else
typedef boost::asio::detail::socket_option::linger<
- SOL_SOCKET, SO_LINGER> linger;
+ BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_LINGER)>
+ linger;
#endif
/// Socket option to report aborted connections on accept.
/**
* Implements a custom socket option that determines whether or not an accept
* operation is permitted to fail with boost::asio::error::connection_aborted.
* By default the option is false.
*
* @par Examples
@@ -490,31 +497,26 @@ public:
typedef implementation_defined bytes_readable;
#else
typedef boost::asio::detail::io_control::bytes_readable bytes_readable;
#endif
/// The maximum length of the queue of pending incoming connections.
#if defined(GENERATING_DOCUMENTATION)
static const int max_connections = implementation_defined;
#else
- BOOST_STATIC_CONSTANT(int, max_connections = SOMAXCONN);
+ BOOST_ASIO_STATIC_CONSTANT(int, max_connections
+ = BOOST_ASIO_OS_DEF(SOMAXCONN));
#endif
protected:
/// Protected destructor to prevent deletion through this type.
~socket_base()
{
}
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-private:
- // Workaround to enable the empty base optimisation with Borland C++.
- char dummy_;
-#endif
};
} // namespace asio
} // namespace boost
#include <boost/asio/detail/pop_options.hpp>
#endif // BOOST_ASIO_SOCKET_BASE_HPP