• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>basic_stream::connect (10 of 10 overloads)</title>
5<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../../../../index.html" title="Chapter 1. Boost.Beast">
8<link rel="up" href="../connect.html" title="basic_stream::connect">
9<link rel="prev" href="overload9.html" title="basic_stream::connect (9 of 10 overloads)">
10<link rel="next" href="../async_connect.html" title="basic_stream::async_connect">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="overload9.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h6 class="title">
27<a name="beast.ref.boost__beast__basic_stream.connect.overload10"></a><a class="link" href="overload10.html" title="basic_stream::connect (10 of 10 overloads)">basic_stream::connect
28          (10 of 10 overloads)</a>
29</h6></div></div></div>
30<p>
31            Establishes a connection by trying each endpoint in a sequence.
32          </p>
33<h7><a name="beast.ref.boost__beast__basic_stream.connect.overload10.h0"></a>
34            <span class="phrase"><a name="beast.ref.boost__beast__basic_stream.connect.overload10.synopsis"></a></span><a class="link" href="overload10.html#beast.ref.boost__beast__basic_stream.connect.overload10.synopsis">Synopsis</a>
35          </h7><pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
36    <span class="keyword">class</span> <span class="identifier">Iterator</span><span class="special">,</span>
37    <span class="keyword">class</span> <a href="../../../../../../../../doc/html/boost_asio/reference/ConnectCondition.html" target="_top"><span class="emphasis"><em>ConnectCondition</em></span></a><span class="special">&gt;</span>
38<span class="identifier">Iterator</span>
39<span class="identifier">connect</span><span class="special">(</span>
40    <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
41    <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
42    <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
43    <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
44</pre>
45<h7><a name="beast.ref.boost__beast__basic_stream.connect.overload10.h1"></a>
46            <span class="phrase"><a name="beast.ref.boost__beast__basic_stream.connect.overload10.description"></a></span><a class="link" href="overload10.html#beast.ref.boost__beast__basic_stream.connect.overload10.description">Description</a>
47          </h7><p>
48            This function attempts to connect the stream to one of a sequence of
49            endpoints by trying each endpoint until a connection is successfully
50            established. The underlying socket is automatically opened if needed.
51            An automatically opened socket is not returned to the closed state upon
52            failure. The algorithm, known as a <span class="emphasis"><em>composed operation</em></span>,
53            is implemented in terms of calls to the underlying socket's <code class="computeroutput"><span class="identifier">connect</span></code> function.
54          </p>
55<h7><a name="beast.ref.boost__beast__basic_stream.connect.overload10.h2"></a>
56            <span class="phrase"><a name="beast.ref.boost__beast__basic_stream.connect.overload10.parameters"></a></span><a class="link" href="overload10.html#beast.ref.boost__beast__basic_stream.connect.overload10.parameters">Parameters</a>
57          </h7><div class="informaltable"><table class="table">
58<colgroup>
59<col>
60<col>
61</colgroup>
62<thead><tr>
63<th>
64                    <p>
65                      Name
66                    </p>
67                  </th>
68<th>
69                    <p>
70                      Description
71                    </p>
72                  </th>
73</tr></thead>
74<tbody>
75<tr>
76<td>
77                    <p>
78                      <code class="computeroutput"><span class="identifier">begin</span></code>
79                    </p>
80                  </td>
81<td>
82                    <p>
83                      An iterator pointing to the start of a sequence of endpoints.
84                    </p>
85                  </td>
86</tr>
87<tr>
88<td>
89                    <p>
90                      <code class="computeroutput"><span class="identifier">end</span></code>
91                    </p>
92                  </td>
93<td>
94                    <p>
95                      An iterator pointing to the end of a sequence of endpoints.
96                    </p>
97                  </td>
98</tr>
99<tr>
100<td>
101                    <p>
102                      <code class="computeroutput"><span class="identifier">connect_condition</span></code>
103                    </p>
104                  </td>
105<td>
106                    <p>
107                      A function object that is called prior to each connection attempt.
108                      The signature of the function object must be:
109                    </p>
110<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">bool</span> <span class="identifier">connect_condition</span><span class="special">(</span>
111    <span class="identifier">error_code</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
112    <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">next</span><span class="special">);</span>
113</pre>
114                    <p>
115                      The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
116                      contains the result from the most recent connect operation.
117                      Before the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
118                      is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
119                      parameter is the next endpoint to be tried. The function object
120                      should return true if the next endpoint should be tried, and
121                      false if it should be skipped.
122                    </p>
123                  </td>
124</tr>
125<tr>
126<td>
127                    <p>
128                      <code class="computeroutput"><span class="identifier">ec</span></code>
129                    </p>
130                  </td>
131<td>
132                    <p>
133                      Set to indicate what error occurred, if any. If the sequence
134                      is empty, set to <code class="computeroutput"><span class="identifier">net</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
135                      Otherwise, contains the error from the last connection attempt.
136                    </p>
137                  </td>
138</tr>
139</tbody>
140</table></div>
141<h7><a name="beast.ref.boost__beast__basic_stream.connect.overload10.h3"></a>
142            <span class="phrase"><a name="beast.ref.boost__beast__basic_stream.connect.overload10.return_value"></a></span><a class="link" href="overload10.html#beast.ref.boost__beast__basic_stream.connect.overload10.return_value">Return
143            Value</a>
144          </h7><p>
145            On success, an iterator denoting the successfully connected endpoint.
146            Otherwise, the end iterator.
147          </p>
148</div>
149<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
150<td align="left"></td>
151<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
152      Falco<p>
153        Distributed under the Boost Software License, Version 1.0. (See accompanying
154        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>)
155      </p>
156</div></td>
157</tr></table>
158<hr>
159<div class="spirit-nav">
160<a accesskey="p" href="overload9.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
161</div>
162</body>
163</html>
164