65 WebSocketConnection();
73 virtual ~WebSocketConnection();
96 virtual void SendText(std::string_view message) = 0;
108 template <
typename ContiguousContainer>
109 void SendBinary(
const ContiguousContainer& message) {
111 sizeof(
typename ContiguousContainer::value_type) == 1,
"SendBinary() should send either std::bytes or chars"
113 DoSendBinary(
utils::span(
114 reinterpret_cast<
const std::byte*>(message.data()),
115 reinterpret_cast<
const std::byte*>(message.data() + message.size())
121 virtual const engine::
io::Sockaddr& RemoteAddr()
const = 0;
123 virtual void AddFinalTags(
tracing::Span& span)
const = 0;
124 virtual void AddStatistics(Statistics& stats)
const = 0;
127 virtual void DoSendBinary(
utils::span<
const std::byte> message) = 0;