3#ifndef SYMBIAN_API_CONNECTIVITY_WEBSOCKET_H_
4#define SYMBIAN_API_CONNECTIVITY_WEBSOCKET_H_
10#include "absl/time/time.h"
26 static absl::StatusOr<WebSocketStream>
Connect(
28 absl::Time deadline = absl::InfiniteFuture());
29 static absl::StatusOr<WebSocketStream>
Accept(
31 absl::Time deadline = absl::InfiniteFuture());
32 static absl::StatusOr<WebSocketStream>
Connect(
34 absl::Time deadline = absl::InfiniteFuture());
35 static absl::StatusOr<WebSocketStream>
Accept(
36 std::unique_ptr<net::ByteStream> transport,
38 absl::Time deadline = absl::InfiniteFuture());
42 absl::Time deadline = absl::InfiniteFuture());
45 absl::Time deadline = absl::InfiniteFuture());
46 absl::Status
Close(absl::Time deadline);
51 std::unique_ptr<websocket::WebSocket> codec);
53 std::unique_ptr<net::ByteStream> transport, websocket::Role role,
54 websocket::Options options, absl::Time deadline);
55 absl::Status Flush(absl::Time deadline);
56 absl::Status Pump(absl::Time deadline);
57 std::unique_ptr<net::ByteStream> transport_;
58 std::unique_ptr<websocket::WebSocket> codec_;
60 std::
size_t offset_ = 0;
66 static absl::StatusOr<WebSocketServer> ListenIpv4(
67 std::array<std::uint8_t, 4>
address, std::uint16_t port,
69 absl::StatusOr<WebSocketStream>
Accept(absl::Time deadline);
73 : listener_(std::move(listener)), options_(std::move(options)) {}
One connected IPv4 TCP stream backed by Symbian RSocket.
Definition tcp_client.h:31
One bounded IPv4 listener backed by Symbian RSocket.
Definition tcp_listener.h:28
Reusable bounded IPv4 WebSocket listener on a worker thread.
Definition websocket.h:64
Synchronous worker-owned WebSocket using the SDK TCP runtime.
Definition websocket.h:24
static absl::StatusOr< WebSocketStream > Connect(TcpClient client, websocket::Options options, absl::Time deadline=absl::InfiniteFuture())
Definition websocket.cc:14
void Abort()
Definition websocket.cc:162
static absl::StatusOr< WebSocketStream > Accept(TcpClient client, websocket::Options options={}, absl::Time deadline=absl::InfiniteFuture())
Definition websocket.cc:20
WebSocketStream(WebSocketStream &&) noexcept=default
absl::Status Close(absl::Time deadline)
Definition websocket.cc:143
absl::Status Send(std::span< const std::uint8_t > bytes, absl::Time deadline=absl::InfiniteFuture())
Definition websocket.cc:104
absl::StatusOr< std::size_t > Receive(std::span< std::uint8_t > bytes, absl::Time deadline=absl::InfiniteFuture())
Definition websocket.cc:111
Definition exception_count.cc:8
Definition active_tcp_listener.cc:11
uint32_t address
Definition exports.cc:69
std::string_view bytes
Definition exports.cc:74
Definition websocket.h:22