1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>generic::stream_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__stream_protocol.html" title="generic::stream_protocol"> 9<link rel="prev" href="protocol.html" title="generic::stream_protocol::protocol"> 10<link rel="next" href="stream_protocol.html" title="generic::stream_protocol::stream_protocol"> 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__stream_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="stream_protocol.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__stream_protocol.socket"></a><a class="link" href="socket.html" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a> 28</h4></div></div></div> 29<p> 30 <a class="indexterm" name="boost_asio.indexterm.generic__stream_protocol.socket"></a> 31The 32 generic socket type. 33 </p> 34<pre class="programlisting">typedef basic_stream_socket< stream_protocol > socket; 35</pre> 36<h6> 37<a name="boost_asio.reference.generic__stream_protocol.socket.h0"></a> 38 <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_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_stream_socket__rebind_executor.html" title="basic_stream_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_stream_socket/broadcast.html" title="basic_stream_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_stream_socket/bytes_readable.html" title="basic_stream_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_stream_socket/debug.html" title="basic_stream_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_stream_socket/do_not_route.html" title="basic_stream_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_stream_socket/enable_connection_aborted.html" title="basic_stream_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_stream_socket/endpoint_type.html" title="basic_stream_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_stream_socket/executor_type.html" title="basic_stream_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_stream_socket/keep_alive.html" title="basic_stream_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_stream_socket/linger.html" title="basic_stream_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_stream_socket/lowest_layer_type.html" title="basic_stream_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_stream_socket/message_flags.html" title="basic_stream_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_stream_socket/native_handle_type.html" title="basic_stream_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_stream_socket/out_of_band_inline.html" title="basic_stream_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_stream_socket/protocol_type.html" title="basic_stream_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_stream_socket/receive_buffer_size.html" title="basic_stream_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_stream_socket/receive_low_watermark.html" title="basic_stream_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_stream_socket/reuse_address.html" title="basic_stream_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_stream_socket/send_buffer_size.html" title="basic_stream_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_stream_socket/send_low_watermark.html" title="basic_stream_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_stream_socket/shutdown_type.html" title="basic_stream_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_stream_socket/wait_type.html" title="basic_stream_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__stream_protocol.socket.h1"></a> 330 <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_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_stream_socket/assign.html" title="basic_stream_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_stream_socket/async_connect.html" title="basic_stream_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_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a> 379 </p> 380 </td> 381<td> 382 <p> 383 Start an asynchronous read. 384 </p> 385 </td> 386</tr> 387<tr> 388<td> 389 <p> 390 <a class="link" href="../basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</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_stream_socket/async_send.html" title="basic_stream_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. 408 </p> 409 </td> 410</tr> 411<tr> 412<td> 413 <p> 414 <a class="link" href="../basic_stream_socket/async_wait.html" title="basic_stream_socket::async_wait"><span class="bold"><strong>async_wait</strong></span></a> 415 </p> 416 </td> 417<td> 418 <p> 419 Asynchronously wait for the socket to become ready to read, ready 420 to write, or to have pending error conditions. 421 </p> 422 </td> 423</tr> 424<tr> 425<td> 426 <p> 427 <a class="link" href="../basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a> 428 </p> 429 </td> 430<td> 431 <p> 432 Start an asynchronous write. 433 </p> 434 </td> 435</tr> 436<tr> 437<td> 438 <p> 439 <a class="link" href="../basic_stream_socket/at_mark.html" title="basic_stream_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_stream_socket/available.html" title="basic_stream_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_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a> <span class="silver">[constructor]</span> 464 </p> 465 </td> 466<td> 467 <p> 468 Construct a basic_stream_socket without opening it. <br> <span class="silver"> —</span><br> 469 Construct and open a basic_stream_socket. <br> <span class="silver"> —</span><br> Construct 470 a basic_stream_socket, opening it and binding it to the given 471 local endpoint. <br> <span class="silver"> —</span><br> Construct a basic_stream_socket 472 on an existing native socket. <br> <span class="silver"> —</span><br> Move-construct a 473 basic_stream_socket from another. <br> <span class="silver"> —</span><br> Move-construct 474 a basic_stream_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_stream_socket/bind.html" title="basic_stream_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_stream_socket/cancel.html" title="basic_stream_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_stream_socket/close.html" title="basic_stream_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_stream_socket/connect.html" title="basic_stream_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_stream_socket/get_executor.html" title="basic_stream_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_stream_socket/get_option.html" title="basic_stream_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_stream_socket/io_control.html" title="basic_stream_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_stream_socket/is_open.html" title="basic_stream_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_stream_socket/local_endpoint.html" title="basic_stream_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_stream_socket/lowest_layer.html" title="basic_stream_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"> —</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_stream_socket/native_handle.html" title="basic_stream_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_stream_socket/native_non_blocking.html" title="basic_stream_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"> —</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_stream_socket/non_blocking.html" title="basic_stream_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"> —</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_stream_socket/open.html" title="basic_stream_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_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a> 654 </p> 655 </td> 656<td> 657 <p> 658 Move-assign a basic_stream_socket from another. <br> <span class="silver"> —</span><br> 659 Move-assign a basic_stream_socket from a socket of another protocol 660 type. 661 </p> 662 </td> 663</tr> 664<tr> 665<td> 666 <p> 667 <a class="link" href="../basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a> 668 </p> 669 </td> 670<td> 671 <p> 672 Read some data from the socket. 673 </p> 674 </td> 675</tr> 676<tr> 677<td> 678 <p> 679 <a class="link" href="../basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a> 680 </p> 681 </td> 682<td> 683 <p> 684 Receive some data on the socket. <br> <span class="silver"> —</span><br> Receive some data 685 on a connected socket. 686 </p> 687 </td> 688</tr> 689<tr> 690<td> 691 <p> 692 <a class="link" href="../basic_stream_socket/release.html" title="basic_stream_socket::release"><span class="bold"><strong>release</strong></span></a> 693 </p> 694 </td> 695<td> 696 <p> 697 Release ownership of the underlying native socket. 698 </p> 699 </td> 700</tr> 701<tr> 702<td> 703 <p> 704 <a class="link" href="../basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a> 705 </p> 706 </td> 707<td> 708 <p> 709 Get the remote endpoint of the socket. 710 </p> 711 </td> 712</tr> 713<tr> 714<td> 715 <p> 716 <a class="link" href="../basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a> 717 </p> 718 </td> 719<td> 720 <p> 721 Send some data on the socket. 722 </p> 723 </td> 724</tr> 725<tr> 726<td> 727 <p> 728 <a class="link" href="../basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a> 729 </p> 730 </td> 731<td> 732 <p> 733 Set an option on the socket. 734 </p> 735 </td> 736</tr> 737<tr> 738<td> 739 <p> 740 <a class="link" href="../basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a> 741 </p> 742 </td> 743<td> 744 <p> 745 Disable sends or receives on the socket. 746 </p> 747 </td> 748</tr> 749<tr> 750<td> 751 <p> 752 <a class="link" href="../basic_stream_socket/wait.html" title="basic_stream_socket::wait"><span class="bold"><strong>wait</strong></span></a> 753 </p> 754 </td> 755<td> 756 <p> 757 Wait for the socket to become ready to read, ready to write, 758 or to have pending error conditions. 759 </p> 760 </td> 761</tr> 762<tr> 763<td> 764 <p> 765 <a class="link" href="../basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a> 766 </p> 767 </td> 768<td> 769 <p> 770 Write some data to the socket. 771 </p> 772 </td> 773</tr> 774<tr> 775<td> 776 <p> 777 <a class="link" href="../basic_stream_socket/_basic_stream_socket.html" title="basic_stream_socket::~basic_stream_socket"><span class="bold"><strong>~basic_stream_socket</strong></span></a> <span class="silver">[destructor]</span> 778 </p> 779 </td> 780<td> 781 <p> 782 Destroys the socket. 783 </p> 784 </td> 785</tr> 786</tbody> 787</table></div> 788<h6> 789<a name="boost_asio.reference.generic__stream_protocol.socket.h2"></a> 790 <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.data_members">Data 791 Members</a> 792 </h6> 793<div class="informaltable"><table class="table"> 794<colgroup> 795<col> 796<col> 797</colgroup> 798<thead><tr> 799<th> 800 <p> 801 Name 802 </p> 803 </th> 804<th> 805 <p> 806 Description 807 </p> 808 </th> 809</tr></thead> 810<tbody> 811<tr> 812<td> 813 <p> 814 <a class="link" href="../basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a> <span class="silver">[static]</span> 815 </p> 816 </td> 817<td> 818 <p> 819 (Deprecated: Use max_listen_connections.) The maximum length 820 of the queue of pending incoming connections. 821 </p> 822 </td> 823</tr> 824<tr> 825<td> 826 <p> 827 <a class="link" href="../basic_stream_socket/max_listen_connections.html" title="basic_stream_socket::max_listen_connections"><span class="bold"><strong>max_listen_connections</strong></span></a> <span class="silver">[static]</span> 828 </p> 829 </td> 830<td> 831 <p> 832 The maximum length of the queue of pending incoming connections. 833 </p> 834 </td> 835</tr> 836<tr> 837<td> 838 <p> 839 <a class="link" href="../basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a> <span class="silver">[static]</span> 840 </p> 841 </td> 842<td> 843 <p> 844 Specify that the data should not be subject to routing. 845 </p> 846 </td> 847</tr> 848<tr> 849<td> 850 <p> 851 <a class="link" href="../basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a> <span class="silver">[static]</span> 852 </p> 853 </td> 854<td> 855 <p> 856 Specifies that the data marks the end of a record. 857 </p> 858 </td> 859</tr> 860<tr> 861<td> 862 <p> 863 <a class="link" href="../basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a> <span class="silver">[static]</span> 864 </p> 865 </td> 866<td> 867 <p> 868 Process out-of-band data. 869 </p> 870 </td> 871</tr> 872<tr> 873<td> 874 <p> 875 <a class="link" href="../basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a> <span class="silver">[static]</span> 876 </p> 877 </td> 878<td> 879 <p> 880 Peek at incoming data without removing it from the input queue. 881 </p> 882 </td> 883</tr> 884</tbody> 885</table></div> 886<p> 887 The <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput">basic_stream_socket</code></a> 888 class template provides asynchronous and blocking stream-oriented socket 889 functionality. 890 </p> 891<h6> 892<a name="boost_asio.reference.generic__stream_protocol.socket.h3"></a> 893 <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.thread_safety">Thread 894 Safety</a> 895 </h6> 896<p> 897 <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe. 898 </p> 899<p> 900 <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe. 901 </p> 902<h6> 903<a name="boost_asio.reference.generic__stream_protocol.socket.h4"></a> 904 <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.requirements">Requirements</a> 905 </h6> 906<p> 907 <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code> 908 </p> 909<p> 910 <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code> 911 </p> 912</div> 913<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 914<td align="left"></td> 915<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M. 916 Kohlhoff<p> 917 Distributed under the Boost Software License, Version 1.0. (See accompanying 918 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>) 919 </p> 920</div></td> 921</tr></table> 922<hr> 923<div class="spirit-nav"> 924<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_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="stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> 925</div> 926</body> 927</html> 928