<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">Timeouts</string>
    <string name="">While [link beast.ref.boost__beast__basic_stream `basic_stream`] and [link beast.ref.boost__beast__basic_stream `tcp_stream`] support timeouts on general logical operations, the websocket stream has a more sophisticated timeout mechanism built-in which may be enabled and configured. The timeout features of the TCP or basic stream should not be used when working with a websocket stream. The interface to these timeout features is shown in this table.</string>
    <string name="">WebSocket Timeout Interface</string>
    <string name="22">Name</string>
    <string name="22">Description</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__timeout `stream_base::timeout`]</string>
    <string name="">This represents configured timeout settings for a websocket stream.</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__timeout.suggested `stream_base::timeout::suggested`]</string>
    <string name="">This function returns the suggested timeout settings for a given role (client or server).</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream.set_option `stream::set_option`]</string>
    <string name="">This function sets timeout and other options on the stream.</string>
    <string name="">There are three timeout settings which may be set independently on the stream:</string>
    <string name="">WebSocket Timeout Interface (2)</string>
    <string name="44">Name</string>
    <string name="">Type</string>
    <string name="44">Description</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__timeout.handshake_timeout `timeout::handshake_timeout`]</string>
    <string name="44">`duration`</string>
    <string name="">This is the amount of time after which a handshake will time out. The handshake timeout applies to client handshakes, server handshakes, as well as the websocket closing handshake performed when either end of the connection wish to shut down. The value returned by [link beast.ref.boost__beast__websocket__stream_base.none `stream_base::none()`] may be assigned to disable this timeout.</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__timeout.idle_timeout `timeout::idle_timeout`]</string>
    <string name="">If no data or control frames are received from the peer for a time equal to the idle timeout, then the connection will time out. The value returned by [link beast.ref.boost__beast__websocket__stream_base.none `stream_base::none()`] may be assigned to disable this timeout.</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__timeout.keep_alive_pings `timeout::keep_alive_pings`]</string>
    <string name="">`bool`</string>
    <string name="">If the idle timeout is enabled, then the value of this setting controls whether or not a ping frame will be sent to the peer if no data is received for half of the idle timeout interval.</string>
    <string name="">By default, timeouts on websocket streams are disabled. The easiest way to turn them on is to set the suggested timeout settings on the stream.</string>
    <string name="">For manual control over the settings, a timeout options object may be constructed. Here we enable only the handshake timeout.</string>
    <string name="">Timeout notifications are delivered to the caller by invoking the completion handler for an outstanding asynchronous read operation with the error code [link beast.ref.boost__beast__error `error::timeout`]. The implementation will close the socket or stream before delivering this error. It is not necessary to manually shut down the connection, as it will already be shut down. A read operation must be outstanding for the error to be delivered.</string>
    <string name="">Websocket timeout features are available only when using asynchronous I/O.</string>
    <string name="">The timeouts on the websocket stream are incompatible with the timeouts used in the `tcp_stream`. When constructing a websocket stream from a tcp stream that has timeouts enabled, the timeout should be disabled first before constructing the websocket stream, as shown.</string>
</resources>
