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