19#ifndef CPPREALM_NETWORKING_WEBSOCKET_HPP
20#define CPPRALM_NETWORKING_WEBSOCKET_HPP
22#include <cpprealm/internal/bridge/status.hpp>
23#include <cpprealm/internal/bridge/realm.hpp>
25#ifndef REALMCXX_VERSION_MAJOR
26#include <cpprealm/version_numbers.hpp>
34 클래스 SyncSocketProvider;
35 struct WebSocketInterface;
36 struct WebSocketObserver;
48 std::vector<std::string>
프로토콜;
53 열거형 클래스 websocket_err_codes {
56 protocol_error = 1002,
57 unsupported_data = 1003,
58 websocket_reserved = 1004,
59 no_status_received = 1005,
61 invalid_payload_data = 1007,
63 message_too_big = 1009,
64 invalid_extension = 1010,
65 invalid_server_error = 1011,
66 TLS_handShake_failed = 1015,
70 moved_permanently = 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 사용 sync_timer = std::unique_ptr<sync_socket_provider::timer>;
149 가상 std::unique_ptr<websocket_interface>
connect(std::unique_ptr<websocket_observer> 관찰자,
203 using FunctionHandler = std::function<oid(
status)>;
263 std::string_view message) = 0;
276 std::optional<::realm::internal::bridge::realm::sync_config::proxy_config>
proxy_config;
278 SSLVerifyCallback = bool(
const std::string& server_address,
279 internal::bridge:: 영역::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;
가상 std::unique_ptr< websocket_interface > connect(std::unique_ptr< websocket_observer > 관찰자, websocket_endpoint &&endpoint)=0
가상 ~sync_socket_provider()= 기본값
std::unique_ptr< sync_socket_provider::timer > sync_timer
기타 클래스 typedef.
정의: websocket.hpp:137
std::function< void(status)> FunctionHandler
함수 핸들러 typedef.
정의: websocket.hpp:116
가상 sync_timer create_timer(std::chrono::milliseconds delay, FunctionHandler &&handler)=0
가상 무효 게시(FunctionHandler &&handler)=0
bool client_validate_ssl
정의: websocket.hpp:284
std::optional<::realm::internal::bridge::realm::sync_config::proxy_config > proxy_config
정의: websocket.hpp:276
std::function< SSLVerifyCallback > ssl_verify_callback
정의: websocket.hpp:294
std::optional< std::map< std::string, std::string > > custom_http_headers
정의: websocket.hpp:272
std::optional< std::string > ssl_ Trust_certificate_path
정의: websocket.hpp:288
내장 웹 소켓 제공자.
정의: websocket.hpp:267
sync_timer create_timer(std::chrono::milliseconds delay, FunctionHandler &&) 재정의
정의: websocket.cpp:84
무효 게시(FunctionHandler &&) 재정의
정의: websocket.cpp:78
std::unique_ptr< websocket_interface > connect(std::unique_ptr< websocket_observer >, websocket_endpoint &&) 재정의
정의: websocket.cpp:71
가상 ~timer()= 기본값
타이머를 취소하고 타이머 인스턴스 를 삭제합니다.
std::vector< std::string > 프로토콜
하나 이상의 웹 소켓 프로토콜 배열입니다.
정의: websocket.hpp:48
std::string URL
연결할 웹 소켓 URL입니다.
정의: websocket.hpp:50
가상 ~websocket_interface()= 기본값
가상 무효 async_write_binary(std::string_view 데이터, FunctionHandler &&handler)=0
가상 무효 websocket_error_handler()=0
가상 무효 websocket_connected_handler(const std::string &protocol)=0
가상 부울 websocket_binary_message_received(std::string_view 데이터)=0
가상 bool websocket_closed_handler(bool was_clean, websocket_err_codes error_code, std::string_view message)=0