64concept HttpSender =
requires(T t,
const interfaces::http_request& request) {
85 { t.is_available() } -> std::convertible_to<bool>;
128 { t.get_http_client() };
129 { t.create_http_client() };
149 const std::string& host,
151 { t.connect(host, port) };
152 { t.disconnect() } -> std::same_as<void>;
175 std::span<const uint8_t> data,
176 const interfaces::udp_endpoint& endpoint) {
178 { t.send_to(data, endpoint) };
198 { t.is_connected() } -> std::convertible_to<bool>;
242 { t.get_udp_client() };
243 { t.create_udp_client() };
A type that can check HTTP client availability.
A complete HTTP client type satisfying IHttpClient interface.
A type that can provide HTTP client instances.
A type that can send HTTP requests.
A type that represents any transport client (HTTP or UDP).
A complete UDP client type satisfying IUdpClient interface.
A type that can provide UDP client instances.
A type that supports UDP connection operations.
A type that can report UDP connection status.
A type that can send UDP datagrams.