summaryrefslogtreecommitdiffstats
path: root/modules/websocket/lws_peer.h
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2018-09-23 21:14:20 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2018-09-24 01:50:37 +0200
commit5d91e87c64f757fb1c20f43a0a30db3c73073625 (patch)
tree29000bb4eabc80bb8f208d71bafd6291d9df9868 /modules/websocket/lws_peer.h
parent399910ddd82e84f078ebefb3ed2c51d2ef989235 (diff)
downloadredot-engine-5d91e87c64f757fb1c20f43a0a30db3c73073625.tar.gz
Implement WebSocket close notify.
Diffstat (limited to 'modules/websocket/lws_peer.h')
-rw-r--r--modules/websocket/lws_peer.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/websocket/lws_peer.h b/modules/websocket/lws_peer.h
index d7d46e3076..05a3880577 100644
--- a/modules/websocket/lws_peer.h
+++ b/modules/websocket/lws_peer.h
@@ -53,6 +53,9 @@ private:
WriteMode write_mode;
bool _was_string;
+ int close_code;
+ String close_reason;
+
public:
struct PeerData {
uint32_t peer_id;
@@ -71,7 +74,7 @@ public:
virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size);
virtual int get_max_packet_size() const { return PACKET_BUFFER_SIZE; };
- virtual void close();
+ virtual void close(int p_code = 1000, String p_reason = "");
virtual bool is_connected_to_host() const;
virtual IP_Address get_connected_host() const;
virtual uint16_t get_connected_port() const;
@@ -83,6 +86,8 @@ public:
void set_wsi(struct lws *wsi);
Error read_wsi(void *in, size_t len);
Error write_wsi();
+ void send_close_status(struct lws *wsi);
+ String get_close_reason(void *in, size_t len, int &r_code);
LWSPeer();
~LWSPeer();