#include <userver/websocket/connection.hpp>
Main class for Websocket connection.
- Examples
- samples/websocket_service/main.cpp.
Definition at line 36 of file connection.hpp.
|
|
virtual void | DoSendBinary (utils::span< const std::byte > message)=0 |
| |
◆ NotAnsweredSequentialPingsCount()
| virtual std::size_t websocket::WebSocketConnection::NotAnsweredSequentialPingsCount |
( |
| ) |
|
|
pure virtual |
Get the number of not answered sequential pings; calls to SendPing() increment this value, Recv and TryRecv reset this value if some 'pong' is received.
- Returns
- the number of not answered sequential pings
◆ Recv()
| virtual void websocket::WebSocketConnection::Recv |
( |
Message & | message | ) |
|
|
pure virtual |
Read a message from websocket, handling pings under the hood.
- Parameters
-
- Exceptions
-
- Note
- Recv() is not thread-safe by itself (you may not call Recv() from multiple coroutines at once). It is not safe to call Recv() and Send() from different coroutines at once if TLS is used. Consider using Send()+TryRecv() from the same coroutine instead.
- Examples
- samples/websocket_service/main.cpp.
◆ Send()
| virtual void websocket::WebSocketConnection::Send |
( |
const Message & | message | ) |
|
|
pure virtual |
◆ SendBinary()
template<typename ContiguousContainer>
| void websocket::WebSocketConnection::SendBinary |
( |
const ContiguousContainer & | message | ) |
|
|
inline |
Sends binary data from container message.
Definition at line 86 of file connection.hpp.
◆ SendPing()
| virtual void websocket::WebSocketConnection::SendPing |
( |
| ) |
|
|
pure virtual |
Send a ping message to websocket.
- Exceptions
-
◆ SendText()
| virtual void websocket::WebSocketConnection::SendText |
( |
std::string_view | message | ) |
|
|
pure virtual |
Send a message to websocket.
- Parameters
-
- Exceptions
-
- Note
- Send() is not thread-safe by itself (you may not call Send() from multiple coroutines at once). It is not safe to call Recv() and Send() from different coroutines at once if TLS is used. Consider using Send()+TryRecv() from the same coroutine instead.
◆ TryRecv()
| virtual bool websocket::WebSocketConnection::TryRecv |
( |
Message & | message | ) |
|
|
pure virtual |
Behaves in the same way as Recv(), but in case of first bytes of message are not yet ready to receive gives the control up to a client.
- Returns
- false in case of messages absence, otherwise true and behaves like Recv()
The documentation for this class was generated from the following file: