3#ifndef SYMBIAN_API_CONNECTIVITY_BYTE_STREAM_H_
4#define SYMBIAN_API_CONNECTIVITY_BYTE_STREAM_H_
18 absl::StatusOr<std::size_t>
Read(std::span<std::uint8_t>
bytes,
19 absl::Time deadline)
override {
21 bytes.first(std::min<std::size_t>(
bytes.size(), 32768)), deadline);
25 return std::size_t{0};
31 absl::Time deadline)
override {
32 while (!
bytes.empty()) {
33 auto count = std::min<std::size_t>(
bytes.size(), 32768);
34 auto status = client_.
Send(
bytes.first(count), deadline);
40 return absl::OkStatus();
Owning TCP transport for both HTTP and WebSocket streams.
Definition byte_stream.h:14
void Close() override
Definition byte_stream.h:43
absl::Status Write(std::span< const std::uint8_t > bytes, absl::Time deadline) override
Definition byte_stream.h:30
TcpByteStream(TcpClient client)
Definition byte_stream.h:16
absl::StatusOr< std::size_t > Read(std::span< std::uint8_t > bytes, absl::Time deadline) override
Definition byte_stream.h:18
One connected IPv4 TCP stream backed by Symbian RSocket.
Definition tcp_client.h:31
absl::Status Send(std::span< const std::uint8_t > bytes, absl::Time deadline=absl::InfiniteFuture())
Complete one native send request of at most 32 KiB by a deadline.
Definition tcp_client.cc:97
absl::StatusOr< std::size_t > Receive(std::span< std::uint8_t > bytes, absl::Time deadline=absl::InfiniteFuture())
Receive at least one byte into a buffer of at most 32 KiB.
Definition tcp_client.cc:115
void Close()
Close on the owner thread; repeated calls are harmless.
Definition tcp_client.cc:85
Single-owner transport shared by HTTP and WebSocket connections.
Definition byte_stream.h:19
Definition exception_count.cc:8
Definition active_tcp_listener.cc:11
int NativeErrorFromStatus(const absl::Status &status)
Definition native_status.h:88
std::string_view bytes
Definition exports.cc:74