SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
|
The websocket connection to the Signal K server. More...
#include <sensesp/signalk/signalk_ws_client.h>
Public Member Functions | |
SKWSClient (const String &config_path, std::shared_ptr< SKDeltaQueue > sk_delta_queue, const String &server_address, uint16_t server_port, bool use_mdns=true) | |
const String | get_server_address () const |
uint16_t | get_server_port () const |
virtual bool | to_json (JsonObject &root) override final |
virtual bool | from_json (const JsonObject &config) override final |
ValueProducer< int > & | get_delta_tx_count_producer () |
ValueProducer< int > & | get_delta_rx_count_producer () |
Get the delta rx count producer object. | |
String | get_connection_status () |
Get a String representation of the current connection state. | |
void | on_disconnected () |
Called when the websocket connection is disconnected. | |
void | on_error () |
Called when the websocket connection encounters an error. | |
void | on_connected () |
Called when the websocket connection is established. | |
void | on_receive_delta (uint8_t *payload, size_t length) |
Called when the websocket receives a delta. | |
void | on_receive_updates (JsonDocument &message) |
Called when a delta update is received. | |
void | on_receive_put (JsonDocument &message) |
Called when a PUT event is received. | |
void | connect () |
void | loop () |
bool | is_connected () |
void | restart () |
void | send_delta () |
void | sendTXT (String &payload) |
Send some processed data to the websocket. | |
Public Member Functions inherited from sensesp::FileSystemSaveable | |
FileSystemSaveable (const String &config_path) | |
virtual bool | load () override |
Load and populate the object from a persistent storage. | |
virtual bool | save () override |
Save the object to a persistent storage. | |
virtual bool | clear () override |
Delete the data from a persistent storage. | |
bool | find_config_file (const String &config_path, String &filename) |
Public Member Functions inherited from sensesp::Saveable | |
Saveable (const String &config_path) | |
virtual bool | refresh () |
Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state. | |
const String & | get_config_path () const |
Public Member Functions inherited from sensesp::Serializable | |
Public Member Functions inherited from sensesp::ValueProducer< SKWSConnectionState > | |
ValueProducer () | |
ValueProducer (const SKWSConnectionState &initial_value) | |
virtual const SKWSConnectionState & | get () const |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< SKWSConnectionState, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
Connect a producer to a transform with a different input type. | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< SKWSConnectionState, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< SKWSConnectionState, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
void | emit (const SKWSConnectionState &new_value) |
Public Member Functions inherited from sensesp::Observable | |
Observable () | |
Observable (Observable &&other) | |
Move constructor. | |
void | notify () |
void | attach (std::function< void()> observer) |
Protected Member Functions | |
bool | take_received_updates_semaphore (unsigned long int timeout_ms=0) |
void | release_received_updates_semaphore () |
void | process_received_updates () |
Loop through the received updates and process them. | |
void | connect_loop () |
void | test_token (const String host, const uint16_t port) |
void | send_access_request (const String host, const uint16_t port) |
void | poll_access_request (const String host, const uint16_t port, const String href) |
void | connect_ws (const String &host, const uint16_t port) |
void | subscribe_listeners () |
Subscribes the SK delta paths to the websocket. | |
bool | get_mdns_service (String &server_address, uint16_t &server_port) |
void | set_connection_state (SKWSConnectionState state) |
SKWSConnectionState | get_connection_state () |
The websocket connection to the Signal K server.
Definition at line 34 of file signalk_ws_client.h.
sensesp::SKWSClient::SKWSClient | ( | const String & | config_path, |
std::shared_ptr< SKDeltaQueue > | sk_delta_queue, | ||
const String & | server_address, | ||
uint16_t | server_port, | ||
bool | use_mdns = true ) |
void sensesp::SKWSClient::connect | ( | ) |
Definition at line 393 of file signalk_ws_client.cpp.
|
protected |
|
protected |
Definition at line 629 of file signalk_ws_client.cpp.
|
finaloverridevirtual |
Deserializes the current object data from a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 699 of file signalk_ws_client.cpp.
|
inlineprotected |
String sensesp::SKWSClient::get_connection_status | ( | ) |
Get a String representation of the current connection state.
Definition at line 727 of file signalk_ws_client.cpp.
|
inline |
Get the delta rx count producer object.
Definition at line 63 of file signalk_ws_client.h.
|
inline |
Return a delta update ValueProducer that produces the number of sent deltas.
Definition at line 54 of file signalk_ws_client.h.
|
protected |
|
inline |
Definition at line 44 of file signalk_ws_client.h.
|
inline |
Definition at line 45 of file signalk_ws_client.h.
bool sensesp::SKWSClient::is_connected | ( | ) |
void sensesp::SKWSClient::loop | ( | ) |
void sensesp::SKWSClient::on_connected | ( | ) |
Called when the websocket connection is established.
Called in the websocket task context.
Definition at line 153 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::on_disconnected | ( | ) |
Called when the websocket connection is disconnected.
This method is called in the websocket task context.
Definition at line 123 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::on_error | ( | ) |
Called when the websocket connection encounters an error.
Called in the websocket task context.
Definition at line 143 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::on_receive_delta | ( | uint8_t * | payload, |
size_t | length ) |
Called when the websocket receives a delta.
Called in the websocket task context.
payload |
Definition at line 211 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::on_receive_put | ( | JsonDocument & | message | ) |
Called when a PUT event is received.
Called in the websocket task context.
message |
Definition at line 322 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::on_receive_updates | ( | JsonDocument & | message | ) |
Called when a delta update is received.
Called in the websocket task context.
message |
Definition at line 251 of file signalk_ws_client.cpp.
|
protected |
Definition at line 559 of file signalk_ws_client.cpp.
|
protected |
Loop through the received updates and process them.
This method is called in the main task context.
Definition at line 279 of file signalk_ws_client.cpp.
|
inlineprotected |
void sensesp::SKWSClient::restart | ( | ) |
|
protected |
Definition at line 498 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::send_delta | ( | ) |
Definition at line 675 of file signalk_ws_client.cpp.
void sensesp::SKWSClient::sendTXT | ( | String & | payload | ) |
Send some processed data to the websocket.
Sends the specified payload to the server over the websocket this client is connected to. If no connection currently exist, the call is safely ignored.
Called in the websocket task context.
payload |
Definition at line 371 of file signalk_ws_client.cpp.
|
inlineprotected |
Definition at line 158 of file signalk_ws_client.h.
|
protected |
Subscribes the SK delta paths to the websocket.
Called in the websocket task context.
Definition at line 166 of file signalk_ws_client.cpp.
|
inlineprotected |
|
protected |
Definition at line 454 of file signalk_ws_client.cpp.
|
finaloverridevirtual |
Serializes the current object data into a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 688 of file signalk_ws_client.cpp.
|
protected |
Definition at line 102 of file signalk_ws_client.h.
|
protected |
Definition at line 115 of file signalk_ws_client.h.
|
protected |
Definition at line 100 of file signalk_ws_client.h.
|
protected |
Definition at line 96 of file signalk_ws_client.h.
|
protected |
Definition at line 97 of file signalk_ws_client.h.
|
protected |
Definition at line 106 of file signalk_ws_client.h.
|
protected |
Definition at line 120 of file signalk_ws_client.h.
|
protected |
Definition at line 119 of file signalk_ws_client.h.
|
protected |
Emits the number of deltas sent since last report.
Definition at line 118 of file signalk_ws_client.h.
|
protected |
Definition at line 101 of file signalk_ws_client.h.
|
protected |
Definition at line 124 of file signalk_ws_client.h.
|
protected |
Definition at line 122 of file signalk_ws_client.h.
|
protected |
Definition at line 93 of file signalk_ws_client.h.
|
protected |
Definition at line 103 of file signalk_ws_client.h.
|
protected |
Definition at line 94 of file signalk_ws_client.h.
|
protected |
Definition at line 116 of file signalk_ws_client.h.
|
protected |
task_connection_state is used to track the internal task state which might be out of sync with the published connection state.
Definition at line 111 of file signalk_ws_client.h.
|
protected |
Definition at line 104 of file signalk_ws_client.h.
|
protected |
Definition at line 98 of file signalk_ws_client.h.
|
protected |
Definition at line 114 of file signalk_ws_client.h.