diff --git a/websocketpp/message_buffer/message.hpp b/websocketpp/message_buffer/message.hpp index 165d56bede..332e80c2ec 100644 --- a/websocketpp/message_buffer/message.hpp +++ b/websocketpp/message_buffer/message.hpp @@ -249,12 +249,19 @@ public: m_payload = payload; } + void set_payload(const void *payload, size_t len) { + m_payload.reserve(len); + const char* pl = static_cast(payload); + m_payload.assign(pl, pl + length); + } + void append_payload(const std::string& payload) { m_payload.append(payload); } - void append_payload(const char *buf, size_t len) { - m_payload.append(buf,len); + void append_payload(const void *payload, size_t len) { + m_payload.reserve(m_payload.size()+len); + m_payload.append(static_cast(payload),len); } /// Recycle the message