<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>socket_base</title> <link rel="stylesheet" href="../../boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2"> <link rel="start" href="../../index.html" title="Asio"> <link rel="up" href="../reference.html" title="Reference"> <link rel="prev" href="socket_acceptor_service/socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service"> <link rel="next" href="socket_base/broadcast.html" title="socket_base::broadcast"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="socket_acceptor_service/socket_acceptor_service.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="socket_base/broadcast.html"><img src="../../next.png" alt="Next"></a> </div> <div class="section" lang="en"> <div class="titlepage"><div><div><h3 class="title"> <a name="asio.reference.socket_base"></a><a class="link" href="socket_base.html" title="socket_base">socket_base</a> </h3></div></div></div> <p> The <a class="link" href="socket_base.html" title="socket_base"><code class="computeroutput"><span class="identifier">socket_base</span></code></a> class is used as a base for the <a class="link" href="basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> and <a class="link" href="basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class templates so that we have a common place to define the shutdown_type and enum. </p> <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">socket_base</span> </pre> <a name="asio.reference.socket_base.types"></a><h5> <a name="id1136706"></a> <a class="link" href="socket_base.html#asio.reference.socket_base.types">Types</a> </h5> <div class="informaltable"><table class="table"> <colgroup> <col> <col> </colgroup> <thead><tr> <th> <p> Name </p> </th> <th> <p> Description </p> </th> </tr></thead> <tbody> <tr> <td> <p> <a class="link" href="socket_base/broadcast.html" title="socket_base::broadcast"><span class="bold"><strong>broadcast</strong></span></a> </p> </td> <td> <p> Socket option to permit sending of broadcast messages. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/bytes_readable.html" title="socket_base::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a> </p> </td> <td> <p> IO control command to get the amount of data that can be read without blocking. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/debug.html" title="socket_base::debug"><span class="bold"><strong>debug</strong></span></a> </p> </td> <td> <p> Socket option to enable socket-level debugging. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/do_not_route.html" title="socket_base::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a> </p> </td> <td> <p> Socket option to prevent routing, use local interfaces only. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/enable_connection_aborted.html" title="socket_base::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a> </p> </td> <td> <p> Socket option to report aborted connections on accept. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/keep_alive.html" title="socket_base::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a> </p> </td> <td> <p> Socket option to send keep-alives. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/linger.html" title="socket_base::linger"><span class="bold"><strong>linger</strong></span></a> </p> </td> <td> <p> Socket option to specify whether the socket lingers on close if unsent data is present. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/message_flags.html" title="socket_base::message_flags"><span class="bold"><strong>message_flags</strong></span></a> </p> </td> <td> <p> Bitmask type for flags that can be passed to send and receive operations. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/non_blocking_io.html" title="socket_base::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a> </p> </td> <td> <p> IO control command to set the blocking mode of the socket. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/receive_buffer_size.html" title="socket_base::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a> </p> </td> <td> <p> Socket option for the receive buffer size of a socket. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/receive_low_watermark.html" title="socket_base::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a> </p> </td> <td> <p> Socket option for the receive low watermark. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/reuse_address.html" title="socket_base::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a> </p> </td> <td> <p> Socket option to allow the socket to be bound to an address that is already in use. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/send_buffer_size.html" title="socket_base::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a> </p> </td> <td> <p> Socket option for the send buffer size of a socket. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/send_low_watermark.html" title="socket_base::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a> </p> </td> <td> <p> Socket option for the send low watermark. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/shutdown_type.html" title="socket_base::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a> </p> </td> <td> <p> Different ways a socket may be shutdown. </p> </td> </tr> </tbody> </table></div> <a name="asio.reference.socket_base.protected_member_functions"></a><h5> <a name="id1137172"></a> <a class="link" href="socket_base.html#asio.reference.socket_base.protected_member_functions">Protected Member Functions</a> </h5> <div class="informaltable"><table class="table"> <colgroup> <col> <col> </colgroup> <thead><tr> <th> <p> Name </p> </th> <th> <p> Description </p> </th> </tr></thead> <tbody><tr> <td> <p> <a class="link" href="socket_base/_socket_base.html" title="socket_base::~socket_base"><span class="bold"><strong>~socket_base</strong></span></a> </p> </td> <td> <p> Protected destructor to prevent deletion through this type. </p> </td> </tr></tbody> </table></div> <a name="asio.reference.socket_base.data_members"></a><h5> <a name="id1137255"></a> <a class="link" href="socket_base.html#asio.reference.socket_base.data_members">Data Members</a> </h5> <div class="informaltable"><table class="table"> <colgroup> <col> <col> </colgroup> <thead><tr> <th> <p> Name </p> </th> <th> <p> Description </p> </th> </tr></thead> <tbody> <tr> <td> <p> <a class="link" href="socket_base/max_connections.html" title="socket_base::max_connections"><span class="bold"><strong>max_connections</strong></span></a> </p> </td> <td> <p> The maximum length of the queue of pending incoming connections. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/message_do_not_route.html" title="socket_base::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a> </p> </td> <td> <p> Specify that the data should not be subject to routing. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/message_out_of_band.html" title="socket_base::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a> </p> </td> <td> <p> Process out-of-band data. </p> </td> </tr> <tr> <td> <p> <a class="link" href="socket_base/message_peek.html" title="socket_base::message_peek"><span class="bold"><strong>message_peek</strong></span></a> </p> </td> <td> <p> Peek at incoming data without removing it from the input queue. </p> </td> </tr> </tbody> </table></div> <a name="asio.reference.socket_base.requirements"></a><h5> <a name="id1137423"></a> <a class="link" href="socket_base.html#asio.reference.socket_base.requirements">Requirements</a> </h5> <p> <span class="bold"><strong>Header: </strong></span><code class="literal">asio/socket_base.hpp</code> </p> <p> <span class="bold"><strong>Convenience header: </strong></span><code class="literal">asio.hpp</code> </p> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2003 - 2010 Christopher M. Kohlhoff<p> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) </p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="socket_acceptor_service/socket_acceptor_service.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="socket_base/broadcast.html"><img src="../../next.png" alt="Next"></a> </div> </body> </html>