$search

asio::socket_base Class Reference

#include <socket_base.hpp>

Inheritance diagram for asio::socket_base:
Inheritance graph
[legend]

List of all members.

Public Types

typedef
asio::detail::socket_option::boolean
< SOL_SOCKET, SO_BROADCAST > 
broadcast
 Socket option to permit sending of broadcast messages.
typedef
asio::detail::io_control::bytes_readable 
bytes_readable
typedef
asio::detail::socket_option::boolean
< SOL_SOCKET, SO_DEBUG > 
debug
 Socket option to enable socket-level debugging.
typedef
asio::detail::socket_option::boolean
< SOL_SOCKET, SO_DONTROUTE > 
do_not_route
 Socket option to prevent routing, use local interfaces only.
typedef
asio::detail::socket_option::boolean
< asio::detail::custom_socket_option_level,
asio::detail::enable_connection_aborted_option
enable_connection_aborted
 Socket option to report aborted connections on accept.
typedef
asio::detail::socket_option::boolean
< SOL_SOCKET, SO_KEEPALIVE > 
keep_alive
 Socket option to send keep-alives.
typedef
asio::detail::socket_option::linger
< SOL_SOCKET, SO_LINGER > 
linger
typedef int message_flags
 Bitmask type for flags that can be passed to send and receive operations.
typedef
asio::detail::io_control::non_blocking_io 
non_blocking_io
 IO control command to set the blocking mode of the socket.
typedef
asio::detail::socket_option::integer
< SOL_SOCKET, SO_RCVBUF > 
receive_buffer_size
 Socket option for the receive buffer size of a socket.
typedef
asio::detail::socket_option::integer
< SOL_SOCKET, SO_RCVLOWAT > 
receive_low_watermark
 Socket option for the receive low watermark.
typedef
asio::detail::socket_option::boolean
< SOL_SOCKET, SO_REUSEADDR > 
reuse_address
typedef
asio::detail::socket_option::integer
< SOL_SOCKET, SO_SNDBUF > 
send_buffer_size
 Socket option for the send buffer size of a socket.
typedef
asio::detail::socket_option::integer
< SOL_SOCKET, SO_SNDLOWAT > 
send_low_watermark
 Socket option for the send low watermark.
enum  shutdown_type { shutdown_receive = asio::detail::shutdown_receive, shutdown_send = asio::detail::shutdown_send, shutdown_both = asio::detail::shutdown_both }
 

Different ways a socket may be shutdown.

More...

Public Member Functions

 BOOST_STATIC_CONSTANT (int, max_connections=SOMAXCONN)
 The maximum length of the queue of pending incoming connections.
 BOOST_STATIC_CONSTANT (int, message_do_not_route=asio::detail::message_do_not_route)
 BOOST_STATIC_CONSTANT (int, message_out_of_band=asio::detail::message_out_of_band)
 BOOST_STATIC_CONSTANT (int, message_peek=asio::detail::message_peek)

Protected Member Functions

 ~socket_base ()
 Protected destructor to prevent deletion through this type.

Detailed Description

The socket_base class is used as a base for the basic_stream_socket and basic_datagram_socket class templates so that we have a common place to define the shutdown_type and enum.

Definition at line 34 of file socket_base.hpp.


Member Typedef Documentation

Socket option to permit sending of broadcast messages.

Implements the SOL_SOCKET/SO_BROADCAST socket option.

Examples
Setting the option:
 asio::ip::udp::socket socket(io_service); 
 ...
 asio::socket_base::broadcast option(true);
 socket.set_option(option);
Getting the current option value:
 asio::ip::udp::socket socket(io_service); 
 ...
 asio::socket_base::broadcast option;
 socket.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 107 of file socket_base.hpp.

IO control command to get the amount of data that can be read without blocking. Implements the FIONREAD IO control command.

Example
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::bytes_readable command(true);
 socket.io_control(command);
 std::size_t bytes_readable = command.get();
Concepts:
IO_Control_Command, Size_IO_Control_Command.

Definition at line 488 of file socket_base.hpp.

Socket option to enable socket-level debugging.

Implements the SOL_SOCKET/SO_DEBUG socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::debug option(true);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::debug option;
 socket.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 140 of file socket_base.hpp.

Socket option to prevent routing, use local interfaces only.

Implements the SOL_SOCKET/SO_DONTROUTE socket option.

Examples
Setting the option:
 asio::ip::udp::socket socket(io_service); 
 ...
 asio::socket_base::do_not_route option(true);
 socket.set_option(option);
Getting the current option value:
 asio::ip::udp::socket socket(io_service); 
 ...
 asio::socket_base::do_not_route option;
 socket.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 173 of file socket_base.hpp.

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 asio::error::connection_aborted. By default the option is false.

Examples
Setting the option:
 asio::ip::tcp::acceptor acceptor(io_service); 
 ...
 asio::socket_base::enable_connection_aborted option(true);
 acceptor.set_option(option);
Getting the current option value:
 asio::ip::tcp::acceptor acceptor(io_service); 
 ...
 asio::socket_base::enable_connection_aborted option;
 acceptor.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 444 of file socket_base.hpp.

Socket option to send keep-alives.

Implements the SOL_SOCKET/SO_KEEPALIVE socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::keep_alive option(true);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::keep_alive option;
 socket.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 206 of file socket_base.hpp.

Socket option to specify whether the socket lingers on close if unsent data is present. Implements the SOL_SOCKET/SO_LINGER socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::linger option(true, 30);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::linger option;
 socket.get_option(option);
 bool is_set = option.enabled();
 unsigned short timeout = option.timeout();
Concepts:
Socket_Option, Linger_Socket_Option.

Definition at line 407 of file socket_base.hpp.

Bitmask type for flags that can be passed to send and receive operations.

Definition at line 57 of file socket_base.hpp.

IO control command to set the blocking mode of the socket.

Implements the FIONBIO IO control command.

Example
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::non_blocking_io command(true);
 socket.io_control(command);
Concepts:
IO_Control_Command, Boolean_IO_Control_Command.

Definition at line 465 of file socket_base.hpp.

Socket option for the receive buffer size of a socket.

Implements the SOL_SOCKET/SO_RCVBUF socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::receive_buffer_size option(8192);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::receive_buffer_size option;
 socket.get_option(option);
 int size = option.value();
Concepts:
Socket_Option, Integer_Socket_Option.

Definition at line 305 of file socket_base.hpp.

Socket option for the receive low watermark.

Implements the SOL_SOCKET/SO_RCVLOWAT socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::receive_low_watermark option(1024);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::receive_low_watermark option;
 socket.get_option(option);
 int size = option.value();
Concepts:
Socket_Option, Integer_Socket_Option.

Definition at line 338 of file socket_base.hpp.

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.

Examples
Setting the option:
 asio::ip::tcp::acceptor acceptor(io_service); 
 ...
 asio::socket_base::reuse_address option(true);
 acceptor.set_option(option);
Getting the current option value:
 asio::ip::tcp::acceptor acceptor(io_service); 
 ...
 asio::socket_base::reuse_address option;
 acceptor.get_option(option);
 bool is_set = option.value();
Concepts:
Socket_Option, Boolean_Socket_Option.

Definition at line 372 of file socket_base.hpp.

Socket option for the send buffer size of a socket.

Implements the SOL_SOCKET/SO_SNDBUF socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::send_buffer_size option(8192);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::send_buffer_size option;
 socket.get_option(option);
 int size = option.value();
Concepts:
Socket_Option, Integer_Socket_Option.

Definition at line 239 of file socket_base.hpp.

Socket option for the send low watermark.

Implements the SOL_SOCKET/SO_SNDLOWAT socket option.

Examples
Setting the option:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::send_low_watermark option(1024);
 socket.set_option(option);
Getting the current option value:
 asio::ip::tcp::socket socket(io_service); 
 ...
 asio::socket_base::send_low_watermark option;
 socket.get_option(option);
 int size = option.value();
Concepts:
Socket_Option, Integer_Socket_Option.

Definition at line 272 of file socket_base.hpp.


Member Enumeration Documentation

Different ways a socket may be shutdown.

Enumerator:
shutdown_receive 
shutdown_send 
shutdown_both 

Definition at line 38 of file socket_base.hpp.


Constructor & Destructor Documentation

asio::socket_base::~socket_base (  )  [inline, protected]

Protected destructor to prevent deletion through this type.

Definition at line 500 of file socket_base.hpp.


Member Function Documentation

asio::socket_base::BOOST_STATIC_CONSTANT ( int  ,
max_connections  = SOMAXCONN 
)

The maximum length of the queue of pending incoming connections.

asio::socket_base::BOOST_STATIC_CONSTANT ( int  ,
message_do_not_route  = asio::detail::message_do_not_route 
)
asio::socket_base::BOOST_STATIC_CONSTANT ( int  ,
message_out_of_band  = asio::detail::message_out_of_band 
)
asio::socket_base::BOOST_STATIC_CONSTANT ( int  ,
message_peek  = asio::detail::message_peek 
)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Castor
Author(s): Carpe Noctem
autogenerated on Fri Mar 1 14:41:43 2013