<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>socket_acceptor_service</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="service_already_exists/service_already_exists.html" title="service_already_exists::service_already_exists">
<link rel="next" href="socket_acceptor_service/accept.html" title="socket_acceptor_service::accept">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.socket_acceptor_service"></a><a class="link" href="socket_acceptor_service.html" title="socket_acceptor_service">socket_acceptor_service</a>
</h3></div></div></div>
<p>
        Default service implementation for a socket acceptor.
      </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">socket_acceptor_service</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
</pre>
<a name="boost_asio.reference.socket_acceptor_service.types"></a><h5>
<a name="id1312053"></a>
        <a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.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_acceptor_service/endpoint_type.html" title="socket_acceptor_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The endpoint type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/implementation_type.html" title="socket_acceptor_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native type of the socket acceptor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/native_type.html" title="socket_acceptor_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native acceptor type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/protocol_type.html" title="socket_acceptor_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The protocol type.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.socket_acceptor_service.member_functions"></a><h5>
<a name="id1312230"></a>
        <a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.member_functions">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_acceptor_service/accept.html" title="socket_acceptor_service::accept"><span class="bold"><strong>accept</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Accept a new connection.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/assign.html" title="socket_acceptor_service::assign"><span class="bold"><strong>assign</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign an existing native acceptor to a socket acceptor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/async_accept.html" title="socket_acceptor_service::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous accept.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/bind.html" title="socket_acceptor_service::bind"><span class="bold"><strong>bind</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Bind the socket acceptor to the specified local endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/cancel.html" title="socket_acceptor_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel all asynchronous operations associated with the acceptor.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/close.html" title="socket_acceptor_service::close"><span class="bold"><strong>close</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Close a socket acceptor implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/construct.html" title="socket_acceptor_service::construct"><span class="bold"><strong>construct</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new socket acceptor implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/destroy.html" title="socket_acceptor_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy a socket acceptor implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/get_io_service.html" title="socket_acceptor_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service object that owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/get_option.html" title="socket_acceptor_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get a socket option.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/io_control.html" title="socket_acceptor_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Perform an IO control command on the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/io_service.html" title="socket_acceptor_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service object that
                  owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/is_open.html" title="socket_acceptor_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine whether the acceptor is open.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/listen.html" title="socket_acceptor_service::listen"><span class="bold"><strong>listen</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Place the socket acceptor into the state where it will listen for
                  new connections.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/local_endpoint.html" title="socket_acceptor_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the local endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/native.html" title="socket_acceptor_service::native"><span class="bold"><strong>native</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the native acceptor implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/open.html" title="socket_acceptor_service::open"><span class="bold"><strong>open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Open a new socket acceptor implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/set_option.html" title="socket_acceptor_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Set a socket option.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/shutdown_service.html" title="socket_acceptor_service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy all user-defined handler objects owned by the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="socket_acceptor_service/socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service"><span class="bold"><strong>socket_acceptor_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new socket acceptor service for the specified io_service.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.socket_acceptor_service.data_members"></a><h5>
<a name="id1312864"></a>
        <a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.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_acceptor_service/id.html" title="socket_acceptor_service::id"><span class="bold"><strong>id</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The unique service identifier.
                </p>
              </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.socket_acceptor_service.requirements"></a><h5>
<a name="id1312981"></a>
        <a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/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 &#169; 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="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
