From 2d87bfa3d60a25a3a95de1d59e95a05cf4288ece Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Sat, 6 Feb 2016 19:21:24 +0100 Subject: [PATCH] less ram usage when using strings --- src/WebSockets.cpp | 2 +- src/WebSockets.h | 2 +- src/WebSocketsClient.cpp | 2 +- src/WebSocketsClient.h | 2 +- src/WebSocketsServer.cpp | 4 ++-- src/WebSocketsServer.h | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/WebSockets.cpp b/src/WebSockets.cpp index 2dede69..4e3aaab 100644 --- a/src/WebSockets.cpp +++ b/src/WebSockets.cpp @@ -473,7 +473,7 @@ void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t * @param clientKey String * @return String Accept Key */ -String WebSockets::acceptKey(String clientKey) { +String WebSockets::acceptKey(String & clientKey) { uint8_t sha1HashBin[20] = { 0 }; #ifdef ESP8266 sha1(clientKey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", &sha1HashBin[0]); diff --git a/src/WebSockets.h b/src/WebSockets.h index 36e6b3a..1d46ef1 100644 --- a/src/WebSockets.h +++ b/src/WebSockets.h @@ -212,7 +212,7 @@ class WebSockets { void handleWebsocketCb(WSclient_t * client); void handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t * payload); - String acceptKey(String clientKey); + String acceptKey(String & clientKey); String base64_encode(uint8_t * data, size_t length); bool readCb(WSclient_t * client, uint8_t *out, size_t n, WSreadWaitCb cb); diff --git a/src/WebSocketsClient.cpp b/src/WebSocketsClient.cpp index 926fc28..6c38d2a 100644 --- a/src/WebSocketsClient.cpp +++ b/src/WebSocketsClient.cpp @@ -171,7 +171,7 @@ void WebSocketsClient::sendTXT(const char * payload, size_t length) { sendTXT((uint8_t *) payload, length); } -void WebSocketsClient::sendTXT(String payload) { +void WebSocketsClient::sendTXT(String & payload) { sendTXT((uint8_t *) payload.c_str(), payload.length()); } diff --git a/src/WebSocketsClient.h b/src/WebSocketsClient.h index 702ebd6..9a66e47 100644 --- a/src/WebSocketsClient.h +++ b/src/WebSocketsClient.h @@ -61,7 +61,7 @@ class WebSocketsClient: private WebSockets { void sendTXT(const uint8_t * payload, size_t length = 0); void sendTXT(char * payload, size_t length = 0, bool headerToPayload = false); void sendTXT(const char * payload, size_t length = 0); - void sendTXT(String payload); + void sendTXT(String & payload); void sendBIN(uint8_t * payload, size_t length, bool headerToPayload = false); void sendBIN(const uint8_t * payload, size_t length); diff --git a/src/WebSocketsServer.cpp b/src/WebSocketsServer.cpp index ebde1bf..a81af57 100644 --- a/src/WebSocketsServer.cpp +++ b/src/WebSocketsServer.cpp @@ -148,7 +148,7 @@ void WebSocketsServer::sendTXT(uint8_t num, const char * payload, size_t length) sendTXT(num, (uint8_t *) payload, length); } -void WebSocketsServer::sendTXT(uint8_t num, String payload) { +void WebSocketsServer::sendTXT(uint8_t num, String & payload) { sendTXT(num, (uint8_t *) payload.c_str(), payload.length()); } @@ -187,7 +187,7 @@ void WebSocketsServer::broadcastTXT(const char * payload, size_t length) { broadcastTXT((uint8_t *) payload, length); } -void WebSocketsServer::broadcastTXT(String payload) { +void WebSocketsServer::broadcastTXT(String & payload) { broadcastTXT((uint8_t *) payload.c_str(), payload.length()); } diff --git a/src/WebSocketsServer.h b/src/WebSocketsServer.h index bd02038..bf51bfd 100644 --- a/src/WebSocketsServer.h +++ b/src/WebSocketsServer.h @@ -61,13 +61,13 @@ public: void sendTXT(uint8_t num, const uint8_t * payload, size_t length = 0); void sendTXT(uint8_t num, char * payload, size_t length = 0, bool headerToPayload = false); void sendTXT(uint8_t num, const char * payload, size_t length = 0); - void sendTXT(uint8_t num, String payload); + void sendTXT(uint8_t num, String & payload); void broadcastTXT(uint8_t * payload, size_t length = 0, bool headerToPayload = false); void broadcastTXT(const uint8_t * payload, size_t length = 0); void broadcastTXT(char * payload, size_t length = 0, bool headerToPayload = false); void broadcastTXT(const char * payload, size_t length = 0); - void broadcastTXT(String payload); + void broadcastTXT(String & payload); void sendBIN(uint8_t num, uint8_t * payload, size_t length, bool headerToPayload = false); void sendBIN(uint8_t num, const uint8_t * payload, size_t length);