msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified Han script) (Boost Beast Translation "
"(zh_Hans))\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-06 20:40+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Simplified Han script) <https://"
"insights.cppalliance.org/weblate/projects/boost-beast-documentation-zh_Hans/"
"doc-qbk-06-websocket-08-notes-qbk/zh_Hans/>\n"
"Language: zh_Hans\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2026.5\n"

#. type: section title
#: 10
#, fuzzy
msgid "Notes"
msgstr "Notes"

#. type: paragraph
#: 12
#, fuzzy
msgid ""
"Because calls to read data may return a variable amount of bytes, the "
"interface to calls that read data require an object that meets the "
"requirements of __DynamicBuffer__. This concept is modeled on __streambuf__."
msgstr ""
"Because calls to read data may return a variable amount of bytes, the "
"interface to calls that read data require an object that meets the "
"requirements of __DynamicBuffer__. This concept is modeled on __streambuf__."

#. type: paragraph
#: 16
#, fuzzy
msgid ""
"The implementation does not perform queueing or buffering of messages. If "
"desired, these features should be provided by callers. The impact of this "
"design is that library users are in full control of the allocation strategy "
"used to store data and the back-pressure applied on the read and write side "
"of the underlying TCP/IP connection."
msgstr ""
"The implementation does not perform queueing or buffering of messages. If "
"desired, these features should be provided by callers. The impact of this "
"design is that library users are in full control of the allocation strategy "
"used to store data and the back-pressure applied on the read and write side "
"of the underlying TCP/IP connection."

#. type: heading
#: 22
#, fuzzy
msgid "Asynchronous Operations"
msgstr "Asynchronous Operations"

#. type: paragraph
#: 24
#, fuzzy
msgid "Asynchronous versions are available for all functions:"
msgstr "Asynchronous versions are available for all functions:"

#. type: paragraph
#: 28
#, fuzzy
msgid ""
"Calls to asynchronous initiation functions support the extensible "
"asynchronous model developed by the Boost.Asio author, allowing for "
"traditional completion handlers, stackful or stackless coroutines, and even "
"futures:"
msgstr ""
"Calls to asynchronous initiation functions support the extensible "
"asynchronous model developed by the Boost.Asio author, allowing for "
"traditional completion handlers, stackful or stackless coroutines, and even "
"futures:"

#. type: paragraph
#: 34
#, fuzzy
msgid ""
"The example programs that come with the library demonstrate the usage of "
"websocket stream operations with all asynchronous varieties."
msgstr ""
"The example programs that come with the library demonstrate the usage of "
"websocket stream operations with all asynchronous varieties."

#. type: heading
#: 37
#, fuzzy
msgid "The io_context"
msgstr "The io_context"

#. type: paragraph
#: 39
#, fuzzy
msgid ""
"The creation and operation of the __io_context__ associated with the "
"underlying stream is left to the callers, permitting any implementation "
"strategy including one that does not require threads for environments where "
"threads are unavailable. Beast WebSocket itself does not use or require "
"threads."
msgstr ""
"The creation and operation of the __io_context__ associated with the "
"underlying stream is left to the callers, permitting any implementation "
"strategy including one that does not require threads for environments where "
"threads are unavailable. Beast WebSocket itself does not use or require "
"threads."

#. type: heading
#: 45
#, fuzzy
msgid "Thread Safety"
msgstr "Thread Safety"

#. type: paragraph
#: 47
#, fuzzy
msgid ""
"Like a regular __Asio__ socket, a [link "
"beast.ref.boost__beast__websocket__stream `stream`] is not thread safe. "
"Callers are responsible for synchronizing operations on the socket using an "
"implicit or explicit strand, as per the Asio documentation. The websocket "
"stream asynchronous interface supports one of each of the following "
"operations to be active at the same time:"
msgstr ""
"Like a regular __Asio__ socket, a [link "
"beast.ref.boost__beast__websocket__stream `stream`] is not thread safe. "
"Callers are responsible for synchronizing operations on the socket using an "
"implicit or explicit strand, as per the Asio documentation. The websocket "
"stream asynchronous interface supports one of each of the following "
"operations to be active at the same time:"

#. type: list
#: 54
#, fuzzy
msgid ""
"* [link beast.ref.boost__beast__websocket__stream.async_read `async_read`] "
"or [link beast.ref.boost__beast__websocket__stream.async_read_some "
"`async_read_some`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_write `async_write`] "
"or [link beast.ref.boost__beast__websocket__stream.async_write_some "
"`async_write_some`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_ping `async_ping`] "
"or [link beast.ref.boost__beast__websocket__stream.async_pong `async_pong`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_close `async_close`]"
msgstr ""
"* [link beast.ref.boost__beast__websocket__stream.async_read `async_read`] "
"or [link beast.ref.boost__beast__websocket__stream.async_read_some "
"`async_read_some`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_write `async_write`] "
"or [link beast.ref.boost__beast__websocket__stream.async_write_some "
"`async_write_some`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_ping `async_ping`] "
"or [link beast.ref.boost__beast__websocket__stream.async_pong `async_pong`]\n"
"* [link beast.ref.boost__beast__websocket__stream.async_close `async_close`]"

#. type: paragraph
#: 59
#, fuzzy
msgid ""
"For example, the following code is produces undefined behavior, because the "
"program is attempting to perform two simultaneous reads:"
msgstr ""
"For example, the following code is produces undefined behavior, because the "
"program is attempting to perform two simultaneous reads:"

#. type: paragraph
#: 64
#, fuzzy
msgid "However, this code is correct:"
msgstr "However, this code is correct:"

#. type: paragraph
#: 68
#, fuzzy
msgid ""
"The implementation uses composed asynchronous operations; although some "
"individual operations can perform both reads and writes, this behavior is "
"coordinated internally to make sure the underlying stream is operated in a "
"safe fashion. This allows an asynchronous read operation to respond to a "
"received ping frame even while a user-initiated call to asynchronous write "
"is active."
msgstr ""
"The implementation uses composed asynchronous operations; although some "
"individual operations can perform both reads and writes, this behavior is "
"coordinated internally to make sure the underlying stream is operated in a "
"safe fashion. This allows an asynchronous read operation to respond to a "
"received ping frame even while a user-initiated call to asynchronous write "
"is active."
