19#ifndef CPPREALM_NETWORKING_WEBSOCKET_HPP
20#define CPPREALM_NETWORKING_WEBSOCKET_HPP
22#include <cpprealm/internal/bridge/status.hpp>
23#include <cprealm/internal/bridge/realm.hpp>
25#ifndef REALMCXX_VERSION_MAJOR
26#include <cpprealm/version_numbers.hpp>
34 classe SyncSocketProvider;
35 struct WebSocketInterface;
36 struct WebSocketObserver;
40 registrador
de classe ;
44namespace Realm::network {
53 classe enumeração websocket_err_codes {
55 Going_Apartment = 1001,
56 protocol_error = 1002,
57 unsupported_data = 1003,
58 websocket_reserved = 1004,
59 no_status_received = 1005,
60 anormal_closure = 1006,
61 invalid_playload_data = 1007,
62 política_violação = 1008,
63 message_too_big = 1009,
64 extensão_inválida = 1010,
65 invalid_server_error = 1011,
66 TLS_handshake_failed = 1015,
68 não autorizado = 4001,
70 movido_permanente = 4003,
71 client_too_old = 4004,
72 client_too_new = 4005,
73 protocol_mismatch = 4006,
75 resolve_failed = 4400,
76 connection_failed = 4401,
84 struct websocket_interface;
85 struct websocket_observer;
137 Usando sync_timer = std::unique_ptr<sync_socket_provider::timer>;
149 std
virtual ::unique_ptr<websocket_interface>
conecte(std::unique_ptr<websocket_observer> observador,
203 usando FunctionHandler = std::function <void(
status)>;
263 std::string_view message) = 0;
276 std::opcional<::realm::internal::bridge::realm::sync_config::proxy_config>
proxy_config;
278 usando SSLVerifyCallback = bool(
const std::string& server_address,
279 internal::bridge:: Realm::sync_config::proxy_config::port_type server_port,
280 const char* pem_data,
size_t pem_size,
int preverify_ok,
int depth);
308 std::unique_ptr<::realm::sync::SyncSocketProvider> m_provider;
Definição: websocket.hpp:112
virtual std::unique_ptr< websocket_interface > connect(std::unique_ptr< websocket_observer > observador, websocket_endpoint &&endpoint)=0
virtual ~sync_socket_provider()=default
std::unique_ptr< sync_socket_provider::timer > sync_timer
Outros typedefs de classe .
Definição: websocket.hpp:137
std::function< void(status)> FunctionHandler
Typedef do manipulador de função.
Definição: websocket.hpp:116
virtual sync_timer create_timer(std::chrono::milliseconds delay, FunctionHandler &&handler)=0
postagem vazia virtual(FunctionHandler &&handler)=0
Definição: websocket.hpp:268
bool client_validate_ssl
Definição: websocket.hpp:284
std::opcional<::realm::internal::bridge::realm::sync_config::proxy_config > proxy_config
Definição: websocket.hpp:276
std::function< SSLVerifyCallback > ssl_verify_callback
Definição: websocket.hpp:294
std::optional< std::map< std::string, std::string > > custom_http_headers
Definição: websocket.hpp:272
std::opcional< std::string > ssl_rust_certificate_path
Definição: websocket.hpp:288
Construído no provedor de websocket.
Definição: websocket.hpp:267
sync_timer create_timer(std::chrono::milliseconds delay, FunctionHandler &&) override
Definição: websocket.cpp:84
postagem vazia(FunctionHandler &&) substituição
Definição: websocket.cpp:78
std::unique_ptr< websocket_interface > connect(std::unique_ptr< websocket_observer >, websocket_endpoint &&) override
Definição: websocket.cpp:71
Definição: websocket.hpp:128
virtual ~timer()=default
Cancela o temporizador e destrói a instância do temporizador.
Definição: websocket.hpp:46
std::vector< std::string > protocolos
Array de um ou mais protocolos de websocket.
Definição: websocket.hpp:48
std::string URL
O URL do websocket ao qual se conectar.
Definição: websocket.hpp:50
Definição: websocket.hpp:198
virtual ~websocket_interface()=default
virtual null async_write_binary(std::string_view data, FunctionHandler &&handler)=0
Definição: websocket.hpp:220
virtual websocket_error_handler()=0
virtual null websocket_connected_handler(const std::string &protocol)=0
virtual bool websocket_binary_message_received(std::string_view data)=0
bool virtual websocket_closed_handler(bool foi_clean, websocket_err_codes error_code, std::string_view message)=0