PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/doc/html/boost_asio/reference/generic__datagram_protocol/socket.html

https://bitbucket.org/bosp/external-boost
HTML | 957 lines | 957 code | 0 blank | 0 comment | 0 complexity | 556922fe60c57bedba510afa41585163 MD5 | raw file
Possible License(s): MIT
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  4. <title>generic::datagram_protocol::socket</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="../../../boost_asio.html" title="Boost.Asio">
  8. <link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
  9. <link rel="prev" href="protocol.html" title="generic::datagram_protocol::protocol">
  10. <link rel="next" href="type.html" title="generic::datagram_protocol::type">
  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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.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="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
  24. </div>
  25. <div class="section">
  26. <div class="titlepage"><div><div><h4 class="title">
  27. <a name="boost_asio.reference.generic__datagram_protocol.socket"></a><a class="link" href="socket.html" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a>
  28. </h4></div></div></div>
  29. <p>
  30. <a class="indexterm" name="boost_asio.indexterm.generic__datagram_protocol.socket"></a>
  31. The
  32. generic socket type.
  33. </p>
  34. <pre class="programlisting">typedef basic_datagram_socket&lt; datagram_protocol &gt; socket;
  35. </pre>
  36. <h6>
  37. <a name="boost_asio.reference.generic__datagram_protocol.socket.h0"></a>
  38. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.types">Types</a>
  39. </h6>
  40. <div class="informaltable"><table class="table">
  41. <colgroup>
  42. <col>
  43. <col>
  44. </colgroup>
  45. <thead><tr>
  46. <th>
  47. <p>
  48. Name
  49. </p>
  50. </th>
  51. <th>
  52. <p>
  53. Description
  54. </p>
  55. </th>
  56. </tr></thead>
  57. <tbody>
  58. <tr>
  59. <td>
  60. <p>
  61. <a class="link" href="../basic_datagram_socket__rebind_executor.html" title="basic_datagram_socket::rebind_executor"><span class="bold"><strong>rebind_executor</strong></span></a>
  62. </p>
  63. </td>
  64. <td>
  65. <p>
  66. Rebinds the socket type to another executor.
  67. </p>
  68. </td>
  69. </tr>
  70. <tr>
  71. <td>
  72. <p>
  73. <a class="link" href="../basic_datagram_socket/broadcast.html" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
  74. </p>
  75. </td>
  76. <td>
  77. <p>
  78. Socket option to permit sending of broadcast messages.
  79. </p>
  80. </td>
  81. </tr>
  82. <tr>
  83. <td>
  84. <p>
  85. <a class="link" href="../basic_datagram_socket/bytes_readable.html" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
  86. </p>
  87. </td>
  88. <td>
  89. <p>
  90. IO control command to get the amount of data that can be read
  91. without blocking.
  92. </p>
  93. </td>
  94. </tr>
  95. <tr>
  96. <td>
  97. <p>
  98. <a class="link" href="../basic_datagram_socket/debug.html" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
  99. </p>
  100. </td>
  101. <td>
  102. <p>
  103. Socket option to enable socket-level debugging.
  104. </p>
  105. </td>
  106. </tr>
  107. <tr>
  108. <td>
  109. <p>
  110. <a class="link" href="../basic_datagram_socket/do_not_route.html" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
  111. </p>
  112. </td>
  113. <td>
  114. <p>
  115. Socket option to prevent routing, use local interfaces only.
  116. </p>
  117. </td>
  118. </tr>
  119. <tr>
  120. <td>
  121. <p>
  122. <a class="link" href="../basic_datagram_socket/enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
  123. </p>
  124. </td>
  125. <td>
  126. <p>
  127. Socket option to report aborted connections on accept.
  128. </p>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td>
  133. <p>
  134. <a class="link" href="../basic_datagram_socket/endpoint_type.html" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
  135. </p>
  136. </td>
  137. <td>
  138. <p>
  139. The endpoint type.
  140. </p>
  141. </td>
  142. </tr>
  143. <tr>
  144. <td>
  145. <p>
  146. <a class="link" href="../basic_datagram_socket/executor_type.html" title="basic_datagram_socket::executor_type"><span class="bold"><strong>executor_type</strong></span></a>
  147. </p>
  148. </td>
  149. <td>
  150. <p>
  151. The type of the executor associated with the object.
  152. </p>
  153. </td>
  154. </tr>
  155. <tr>
  156. <td>
  157. <p>
  158. <a class="link" href="../basic_datagram_socket/keep_alive.html" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
  159. </p>
  160. </td>
  161. <td>
  162. <p>
  163. Socket option to send keep-alives.
  164. </p>
  165. </td>
  166. </tr>
  167. <tr>
  168. <td>
  169. <p>
  170. <a class="link" href="../basic_datagram_socket/linger.html" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
  171. </p>
  172. </td>
  173. <td>
  174. <p>
  175. Socket option to specify whether the socket lingers on close
  176. if unsent data is present.
  177. </p>
  178. </td>
  179. </tr>
  180. <tr>
  181. <td>
  182. <p>
  183. <a class="link" href="../basic_datagram_socket/lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
  184. </p>
  185. </td>
  186. <td>
  187. <p>
  188. A basic_socket is always the lowest layer.
  189. </p>
  190. </td>
  191. </tr>
  192. <tr>
  193. <td>
  194. <p>
  195. <a class="link" href="../basic_datagram_socket/message_flags.html" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
  196. </p>
  197. </td>
  198. <td>
  199. <p>
  200. Bitmask type for flags that can be passed to send and receive
  201. operations.
  202. </p>
  203. </td>
  204. </tr>
  205. <tr>
  206. <td>
  207. <p>
  208. <a class="link" href="../basic_datagram_socket/native_handle_type.html" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
  209. </p>
  210. </td>
  211. <td>
  212. <p>
  213. The native representation of a socket.
  214. </p>
  215. </td>
  216. </tr>
  217. <tr>
  218. <td>
  219. <p>
  220. <a class="link" href="../basic_datagram_socket/out_of_band_inline.html" title="basic_datagram_socket::out_of_band_inline"><span class="bold"><strong>out_of_band_inline</strong></span></a>
  221. </p>
  222. </td>
  223. <td>
  224. <p>
  225. Socket option for putting received out-of-band data inline.
  226. </p>
  227. </td>
  228. </tr>
  229. <tr>
  230. <td>
  231. <p>
  232. <a class="link" href="../basic_datagram_socket/protocol_type.html" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
  233. </p>
  234. </td>
  235. <td>
  236. <p>
  237. The protocol type.
  238. </p>
  239. </td>
  240. </tr>
  241. <tr>
  242. <td>
  243. <p>
  244. <a class="link" href="../basic_datagram_socket/receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
  245. </p>
  246. </td>
  247. <td>
  248. <p>
  249. Socket option for the receive buffer size of a socket.
  250. </p>
  251. </td>
  252. </tr>
  253. <tr>
  254. <td>
  255. <p>
  256. <a class="link" href="../basic_datagram_socket/receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
  257. </p>
  258. </td>
  259. <td>
  260. <p>
  261. Socket option for the receive low watermark.
  262. </p>
  263. </td>
  264. </tr>
  265. <tr>
  266. <td>
  267. <p>
  268. <a class="link" href="../basic_datagram_socket/reuse_address.html" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
  269. </p>
  270. </td>
  271. <td>
  272. <p>
  273. Socket option to allow the socket to be bound to an address that
  274. is already in use.
  275. </p>
  276. </td>
  277. </tr>
  278. <tr>
  279. <td>
  280. <p>
  281. <a class="link" href="../basic_datagram_socket/send_buffer_size.html" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
  282. </p>
  283. </td>
  284. <td>
  285. <p>
  286. Socket option for the send buffer size of a socket.
  287. </p>
  288. </td>
  289. </tr>
  290. <tr>
  291. <td>
  292. <p>
  293. <a class="link" href="../basic_datagram_socket/send_low_watermark.html" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
  294. </p>
  295. </td>
  296. <td>
  297. <p>
  298. Socket option for the send low watermark.
  299. </p>
  300. </td>
  301. </tr>
  302. <tr>
  303. <td>
  304. <p>
  305. <a class="link" href="../basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
  306. </p>
  307. </td>
  308. <td>
  309. <p>
  310. Different ways a socket may be shutdown.
  311. </p>
  312. </td>
  313. </tr>
  314. <tr>
  315. <td>
  316. <p>
  317. <a class="link" href="../basic_datagram_socket/wait_type.html" title="basic_datagram_socket::wait_type"><span class="bold"><strong>wait_type</strong></span></a>
  318. </p>
  319. </td>
  320. <td>
  321. <p>
  322. Wait types.
  323. </p>
  324. </td>
  325. </tr>
  326. </tbody>
  327. </table></div>
  328. <h6>
  329. <a name="boost_asio.reference.generic__datagram_protocol.socket.h1"></a>
  330. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.member_functions">Member
  331. Functions</a>
  332. </h6>
  333. <div class="informaltable"><table class="table">
  334. <colgroup>
  335. <col>
  336. <col>
  337. </colgroup>
  338. <thead><tr>
  339. <th>
  340. <p>
  341. Name
  342. </p>
  343. </th>
  344. <th>
  345. <p>
  346. Description
  347. </p>
  348. </th>
  349. </tr></thead>
  350. <tbody>
  351. <tr>
  352. <td>
  353. <p>
  354. <a class="link" href="../basic_datagram_socket/assign.html" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
  355. </p>
  356. </td>
  357. <td>
  358. <p>
  359. Assign an existing native socket to the socket.
  360. </p>
  361. </td>
  362. </tr>
  363. <tr>
  364. <td>
  365. <p>
  366. <a class="link" href="../basic_datagram_socket/async_connect.html" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
  367. </p>
  368. </td>
  369. <td>
  370. <p>
  371. Start an asynchronous connect.
  372. </p>
  373. </td>
  374. </tr>
  375. <tr>
  376. <td>
  377. <p>
  378. <a class="link" href="../basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
  379. </p>
  380. </td>
  381. <td>
  382. <p>
  383. Start an asynchronous receive on a connected socket.
  384. </p>
  385. </td>
  386. </tr>
  387. <tr>
  388. <td>
  389. <p>
  390. <a class="link" href="../basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
  391. </p>
  392. </td>
  393. <td>
  394. <p>
  395. Start an asynchronous receive.
  396. </p>
  397. </td>
  398. </tr>
  399. <tr>
  400. <td>
  401. <p>
  402. <a class="link" href="../basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
  403. </p>
  404. </td>
  405. <td>
  406. <p>
  407. Start an asynchronous send on a connected socket.
  408. </p>
  409. </td>
  410. </tr>
  411. <tr>
  412. <td>
  413. <p>
  414. <a class="link" href="../basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
  415. </p>
  416. </td>
  417. <td>
  418. <p>
  419. Start an asynchronous send.
  420. </p>
  421. </td>
  422. </tr>
  423. <tr>
  424. <td>
  425. <p>
  426. <a class="link" href="../basic_datagram_socket/async_wait.html" title="basic_datagram_socket::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
  427. </p>
  428. </td>
  429. <td>
  430. <p>
  431. Asynchronously wait for the socket to become ready to read, ready
  432. to write, or to have pending error conditions.
  433. </p>
  434. </td>
  435. </tr>
  436. <tr>
  437. <td>
  438. <p>
  439. <a class="link" href="../basic_datagram_socket/at_mark.html" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
  440. </p>
  441. </td>
  442. <td>
  443. <p>
  444. Determine whether the socket is at the out-of-band data mark.
  445. </p>
  446. </td>
  447. </tr>
  448. <tr>
  449. <td>
  450. <p>
  451. <a class="link" href="../basic_datagram_socket/available.html" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
  452. </p>
  453. </td>
  454. <td>
  455. <p>
  456. Determine the number of bytes available for reading.
  457. </p>
  458. </td>
  459. </tr>
  460. <tr>
  461. <td>
  462. <p>
  463. <a class="link" href="../basic_datagram_socket/basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
  464. </p>
  465. </td>
  466. <td>
  467. <p>
  468. Construct a basic_datagram_socket without opening it. <br>
  469. <span class="silver"> &#8212;</span><br> Construct and open a basic_datagram_socket. <br> <span class="silver"> &#8212;</span><br>
  470. Construct a basic_datagram_socket, opening it and binding it
  471. to the given local endpoint. <br> <span class="silver"> &#8212;</span><br> Construct a basic_datagram_socket
  472. on an existing native socket. <br> <span class="silver"> &#8212;</span><br> Move-construct a
  473. basic_datagram_socket from another. <br> <span class="silver"> &#8212;</span><br> Move-construct
  474. a basic_datagram_socket from a socket of another protocol type.
  475. </p>
  476. </td>
  477. </tr>
  478. <tr>
  479. <td>
  480. <p>
  481. <a class="link" href="../basic_datagram_socket/bind.html" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
  482. </p>
  483. </td>
  484. <td>
  485. <p>
  486. Bind the socket to the given local endpoint.
  487. </p>
  488. </td>
  489. </tr>
  490. <tr>
  491. <td>
  492. <p>
  493. <a class="link" href="../basic_datagram_socket/cancel.html" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
  494. </p>
  495. </td>
  496. <td>
  497. <p>
  498. Cancel all asynchronous operations associated with the socket.
  499. </p>
  500. </td>
  501. </tr>
  502. <tr>
  503. <td>
  504. <p>
  505. <a class="link" href="../basic_datagram_socket/close.html" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
  506. </p>
  507. </td>
  508. <td>
  509. <p>
  510. Close the socket.
  511. </p>
  512. </td>
  513. </tr>
  514. <tr>
  515. <td>
  516. <p>
  517. <a class="link" href="../basic_datagram_socket/connect.html" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
  518. </p>
  519. </td>
  520. <td>
  521. <p>
  522. Connect the socket to the specified endpoint.
  523. </p>
  524. </td>
  525. </tr>
  526. <tr>
  527. <td>
  528. <p>
  529. <a class="link" href="../basic_datagram_socket/get_executor.html" title="basic_datagram_socket::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
  530. </p>
  531. </td>
  532. <td>
  533. <p>
  534. Get the executor associated with the object.
  535. </p>
  536. </td>
  537. </tr>
  538. <tr>
  539. <td>
  540. <p>
  541. <a class="link" href="../basic_datagram_socket/get_option.html" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
  542. </p>
  543. </td>
  544. <td>
  545. <p>
  546. Get an option from the socket.
  547. </p>
  548. </td>
  549. </tr>
  550. <tr>
  551. <td>
  552. <p>
  553. <a class="link" href="../basic_datagram_socket/io_control.html" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
  554. </p>
  555. </td>
  556. <td>
  557. <p>
  558. Perform an IO control command on the socket.
  559. </p>
  560. </td>
  561. </tr>
  562. <tr>
  563. <td>
  564. <p>
  565. <a class="link" href="../basic_datagram_socket/is_open.html" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
  566. </p>
  567. </td>
  568. <td>
  569. <p>
  570. Determine whether the socket is open.
  571. </p>
  572. </td>
  573. </tr>
  574. <tr>
  575. <td>
  576. <p>
  577. <a class="link" href="../basic_datagram_socket/local_endpoint.html" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
  578. </p>
  579. </td>
  580. <td>
  581. <p>
  582. Get the local endpoint of the socket.
  583. </p>
  584. </td>
  585. </tr>
  586. <tr>
  587. <td>
  588. <p>
  589. <a class="link" href="../basic_datagram_socket/lowest_layer.html" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
  590. </p>
  591. </td>
  592. <td>
  593. <p>
  594. Get a reference to the lowest layer. <br> <span class="silver"> &#8212;</span><br> Get a const
  595. reference to the lowest layer.
  596. </p>
  597. </td>
  598. </tr>
  599. <tr>
  600. <td>
  601. <p>
  602. <a class="link" href="../basic_datagram_socket/native_handle.html" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
  603. </p>
  604. </td>
  605. <td>
  606. <p>
  607. Get the native socket representation.
  608. </p>
  609. </td>
  610. </tr>
  611. <tr>
  612. <td>
  613. <p>
  614. <a class="link" href="../basic_datagram_socket/native_non_blocking.html" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
  615. </p>
  616. </td>
  617. <td>
  618. <p>
  619. Gets the non-blocking mode of the native socket implementation.
  620. <br> <span class="silver"> &#8212;</span><br> Sets the non-blocking mode of the native socket
  621. implementation.
  622. </p>
  623. </td>
  624. </tr>
  625. <tr>
  626. <td>
  627. <p>
  628. <a class="link" href="../basic_datagram_socket/non_blocking.html" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
  629. </p>
  630. </td>
  631. <td>
  632. <p>
  633. Gets the non-blocking mode of the socket. <br> <span class="silver"> &#8212;</span><br> Sets
  634. the non-blocking mode of the socket.
  635. </p>
  636. </td>
  637. </tr>
  638. <tr>
  639. <td>
  640. <p>
  641. <a class="link" href="../basic_datagram_socket/open.html" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
  642. </p>
  643. </td>
  644. <td>
  645. <p>
  646. Open the socket using the specified protocol.
  647. </p>
  648. </td>
  649. </tr>
  650. <tr>
  651. <td>
  652. <p>
  653. <a class="link" href="../basic_datagram_socket/operator_eq_.html" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
  654. </p>
  655. </td>
  656. <td>
  657. <p>
  658. Move-assign a basic_datagram_socket from another. <br> <span class="silver"> &#8212;</span><br>
  659. Move-assign a basic_datagram_socket from a socket of another
  660. protocol type.
  661. </p>
  662. </td>
  663. </tr>
  664. <tr>
  665. <td>
  666. <p>
  667. <a class="link" href="../basic_datagram_socket/receive.html" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
  668. </p>
  669. </td>
  670. <td>
  671. <p>
  672. Receive some data on a connected socket.
  673. </p>
  674. </td>
  675. </tr>
  676. <tr>
  677. <td>
  678. <p>
  679. <a class="link" href="../basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
  680. </p>
  681. </td>
  682. <td>
  683. <p>
  684. Receive a datagram with the endpoint of the sender.
  685. </p>
  686. </td>
  687. </tr>
  688. <tr>
  689. <td>
  690. <p>
  691. <a class="link" href="../basic_datagram_socket/release.html" title="basic_datagram_socket::release"><span class="bold"><strong>release</strong></span></a>
  692. </p>
  693. </td>
  694. <td>
  695. <p>
  696. Release ownership of the underlying native socket.
  697. </p>
  698. </td>
  699. </tr>
  700. <tr>
  701. <td>
  702. <p>
  703. <a class="link" href="../basic_datagram_socket/remote_endpoint.html" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
  704. </p>
  705. </td>
  706. <td>
  707. <p>
  708. Get the remote endpoint of the socket.
  709. </p>
  710. </td>
  711. </tr>
  712. <tr>
  713. <td>
  714. <p>
  715. <a class="link" href="../basic_datagram_socket/send.html" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
  716. </p>
  717. </td>
  718. <td>
  719. <p>
  720. Send some data on a connected socket.
  721. </p>
  722. </td>
  723. </tr>
  724. <tr>
  725. <td>
  726. <p>
  727. <a class="link" href="../basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
  728. </p>
  729. </td>
  730. <td>
  731. <p>
  732. Send a datagram to the specified endpoint.
  733. </p>
  734. </td>
  735. </tr>
  736. <tr>
  737. <td>
  738. <p>
  739. <a class="link" href="../basic_datagram_socket/set_option.html" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
  740. </p>
  741. </td>
  742. <td>
  743. <p>
  744. Set an option on the socket.
  745. </p>
  746. </td>
  747. </tr>
  748. <tr>
  749. <td>
  750. <p>
  751. <a class="link" href="../basic_datagram_socket/shutdown.html" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
  752. </p>
  753. </td>
  754. <td>
  755. <p>
  756. Disable sends or receives on the socket.
  757. </p>
  758. </td>
  759. </tr>
  760. <tr>
  761. <td>
  762. <p>
  763. <a class="link" href="../basic_datagram_socket/wait.html" title="basic_datagram_socket::wait"><span class="bold"><strong>wait</strong></span></a>
  764. </p>
  765. </td>
  766. <td>
  767. <p>
  768. Wait for the socket to become ready to read, ready to write,
  769. or to have pending error conditions.
  770. </p>
  771. </td>
  772. </tr>
  773. <tr>
  774. <td>
  775. <p>
  776. <a class="link" href="../basic_datagram_socket/_basic_datagram_socket.html" title="basic_datagram_socket::~basic_datagram_socket"><span class="bold"><strong>~basic_datagram_socket</strong></span></a>
  777. </p>
  778. </td>
  779. <td>
  780. <p>
  781. Destroys the socket.
  782. </p>
  783. </td>
  784. </tr>
  785. </tbody>
  786. </table></div>
  787. <h6>
  788. <a name="boost_asio.reference.generic__datagram_protocol.socket.h2"></a>
  789. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.data_members">Data
  790. Members</a>
  791. </h6>
  792. <div class="informaltable"><table class="table">
  793. <colgroup>
  794. <col>
  795. <col>
  796. </colgroup>
  797. <thead><tr>
  798. <th>
  799. <p>
  800. Name
  801. </p>
  802. </th>
  803. <th>
  804. <p>
  805. Description
  806. </p>
  807. </th>
  808. </tr></thead>
  809. <tbody>
  810. <tr>
  811. <td>
  812. <p>
  813. <a class="link" href="../basic_datagram_socket/max_connections.html" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
  814. </p>
  815. </td>
  816. <td>
  817. <p>
  818. (Deprecated: Use max_listen_connections.) The maximum length
  819. of the queue of pending incoming connections.
  820. </p>
  821. </td>
  822. </tr>
  823. <tr>
  824. <td>
  825. <p>
  826. <a class="link" href="../basic_datagram_socket/max_listen_connections.html" title="basic_datagram_socket::max_listen_connections"><span class="bold"><strong>max_listen_connections</strong></span></a>
  827. </p>
  828. </td>
  829. <td>
  830. <p>
  831. The maximum length of the queue of pending incoming connections.
  832. </p>
  833. </td>
  834. </tr>
  835. <tr>
  836. <td>
  837. <p>
  838. <a class="link" href="../basic_datagram_socket/message_do_not_route.html" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
  839. </p>
  840. </td>
  841. <td>
  842. <p>
  843. Specify that the data should not be subject to routing.
  844. </p>
  845. </td>
  846. </tr>
  847. <tr>
  848. <td>
  849. <p>
  850. <a class="link" href="../basic_datagram_socket/message_end_of_record.html" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
  851. </p>
  852. </td>
  853. <td>
  854. <p>
  855. Specifies that the data marks the end of a record.
  856. </p>
  857. </td>
  858. </tr>
  859. <tr>
  860. <td>
  861. <p>
  862. <a class="link" href="../basic_datagram_socket/message_out_of_band.html" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
  863. </p>
  864. </td>
  865. <td>
  866. <p>
  867. Process out-of-band data.
  868. </p>
  869. </td>
  870. </tr>
  871. <tr>
  872. <td>
  873. <p>
  874. <a class="link" href="../basic_datagram_socket/message_peek.html" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
  875. </p>
  876. </td>
  877. <td>
  878. <p>
  879. Peek at incoming data without removing it from the input queue.
  880. </p>
  881. </td>
  882. </tr>
  883. </tbody>
  884. </table></div>
  885. <h6>
  886. <a name="boost_asio.reference.generic__datagram_protocol.socket.h3"></a>
  887. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.protected_data_members">Protected
  888. Data Members</a>
  889. </h6>
  890. <div class="informaltable"><table class="table">
  891. <colgroup>
  892. <col>
  893. <col>
  894. </colgroup>
  895. <thead><tr>
  896. <th>
  897. <p>
  898. Name
  899. </p>
  900. </th>
  901. <th>
  902. <p>
  903. Description
  904. </p>
  905. </th>
  906. </tr></thead>
  907. <tbody><tr>
  908. <td>
  909. <p>
  910. <a class="link" href="../basic_datagram_socket/impl_.html" title="basic_datagram_socket::impl_"><span class="bold"><strong>impl_</strong></span></a>
  911. </p>
  912. </td>
  913. <td>
  914. </td>
  915. </tr></tbody>
  916. </table></div>
  917. <p>
  918. The <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput">basic_datagram_socket</code></a>
  919. class template provides asynchronous and blocking datagram-oriented socket
  920. functionality.
  921. </p>
  922. <h6>
  923. <a name="boost_asio.reference.generic__datagram_protocol.socket.h4"></a>
  924. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.thread_safety">Thread
  925. Safety</a>
  926. </h6>
  927. <p>
  928. <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
  929. </p>
  930. <p>
  931. <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
  932. </p>
  933. <h6>
  934. <a name="boost_asio.reference.generic__datagram_protocol.socket.h5"></a>
  935. <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.requirements">Requirements</a>
  936. </h6>
  937. <p>
  938. <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
  939. </p>
  940. <p>
  941. <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
  942. </p>
  943. </div>
  944. <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
  945. <td align="left"></td>
  946. <td align="right"><div class="copyright-footer">Copyright &#169; 2003-2019 Christopher M. Kohlhoff<p>
  947. Distributed under the Boost Software License, Version 1.0. (See accompanying
  948. 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>)
  949. </p>
  950. </div></td>
  951. </tr></table>
  952. <hr>
  953. <div class="spirit-nav">
  954. <a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.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="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
  955. </div>
  956. </body>
  957. </html>