@@ -98,7 +98,7 @@ namespace SL {
9898 sendImpl (parent, socket, ws, false );
9999 }
100100
101- template <class PARENTTYPE , class SOCKETTYPE >inline void handlewriteclose (const PARENTTYPE& parent, const SOCKETTYPE& socket, unsigned short code, const std::string& msg) {
101+ template <class PARENTTYPE , class SOCKETTYPE >inline void handleclose (const PARENTTYPE& parent, const SOCKETTYPE& socket, unsigned short code, const std::string& msg) {
102102 SL_WS_LITE_LOG (Logging_Levels::INFO_log_level, " Closed: " << code);
103103 socket->SocketStatus_ = SocketStatus::CLOSED;
104104 socket->Writing = false ;
@@ -121,11 +121,11 @@ namespace SL {
121121 UNUSED (bytes_transferred);
122122 if (msg.code == OpCode::CLOSE) {
123123 // final close.. get out and dont come back mm kay?
124- return handlewriteclose (parent, socket, 1000 , " " );
124+ return handleclose (parent, socket, 1000 , " " );
125125 }
126126 if (ec)
127127 {
128- return handlewriteclose (parent, socket, 1002 , " write header failed " + ec.message ());
128+ return handleclose (parent, socket, 1002 , " write header failed " + ec.message ());
129129 }
130130 assert (msg.len == bytes_transferred);
131131 startwrite (parent, socket);
@@ -150,10 +150,10 @@ namespace SL {
150150 if (ec)
151151 {
152152 if (msg.code == OpCode::CLOSE) {
153- return handlewriteclose (parent, socket, msg.code , " " );
153+ return handleclose (parent, socket, msg.code , " " );
154154 }
155155 else {
156- return handlewriteclose (parent, socket, 1002 , " write mask failed " + ec.message ());
156+ return handleclose (parent, socket, 1002 , " write mask failed " + ec.message ());
157157 }
158158 }
159159 else {
@@ -204,7 +204,7 @@ namespace SL {
204204 writeend (parent, socket, msg);
205205 }
206206 else {
207- handlewriteclose (parent, socket, 1002 , " write header failed " + ec.message ());
207+ handleclose (parent, socket, 1002 , " write header failed " + ec.message ());
208208 }
209209
210210 }
@@ -518,14 +518,15 @@ namespace SL {
518518 dataconsumed = extradata->size ();
519519 }
520520 bytestoread -= dataconsumed;
521- memcpy (buffer->get (), extradata->data (), dataconsumed);
521+ std::copy_n (asio::buffers_begin (*extradata), dataconsumed, buffer.get ());
522+ // memcpy(buffer.get(), extradata->data(), dataconsumed);
522523 extradata->consume (dataconsumed);
523524
524525 asio::async_read (socket->Socket , asio::buffer (buffer.get () + dataconsumed, bytestoread), [size, extradata, parent, socket, buffer](const std::error_code& ec, size_t ) {
525526 if (!ec) {
526527 UnMaskMessage (parent, size, buffer.get ());
527528 auto tempsize = size - AdditionalBodyBytesToRead<PARENTTYPE>();
528- if (extradata. size () == 0 ) {
529+ if (extradata-> size () == 0 ) {
529530 return ProcessControlMessage (parent, socket, buffer, tempsize);
530531 }
531532 else {
@@ -539,7 +540,7 @@ namespace SL {
539540 }
540541 else {
541542 std::shared_ptr<unsigned char > ptr;
542- if (extradata. size () == 0 ) {
543+ if (extradata-> size () == 0 ) {
543544 return ProcessControlMessage (parent, socket, ptr, 0 );
544545 }
545546 else {
@@ -579,15 +580,16 @@ namespace SL {
579580 dataconsumed = extradata->size ();
580581 }
581582 bytestoread -= dataconsumed;
582- memcpy (socket->ReceiveBuffer + socket->ReceiveBufferSize - size, extradata->data (), dataconsumed);
583+ std::copy_n (asio::buffers_begin (*extradata), dataconsumed, socket->ReceiveBuffer + socket->ReceiveBufferSize - size);
584+ // memcpy(socket->ReceiveBuffer + socket->ReceiveBufferSize - size, extradata->data(), dataconsumed);
583585 extradata->consume (dataconsumed);
584586
585587 asio::async_read (socket->Socket , asio::buffer (socket->ReceiveBuffer + socket->ReceiveBufferSize - size + dataconsumed, bytestoread), [size, extradata, parent, socket](const std::error_code& ec, size_t ) {
586588 if (!ec) {
587589 auto buffer = socket->ReceiveBuffer + socket->ReceiveBufferSize - size;
588590 UnMaskMessage (parent, size, buffer);
589591 socket->ReceiveBufferSize -= AdditionalBodyBytesToRead<PARENTTYPE>();
590- if (extradata. size () == 0 ) {
592+ if (extradata-> size () == 0 ) {
591593 return ProcessMessage (parent, socket);
592594 }
593595 else {
@@ -600,7 +602,7 @@ namespace SL {
600602 });
601603 }
602604 else {
603- if (extradata. size () == 0 ) {
605+ if (extradata-> size () == 0 ) {
604606 return ProcessMessage (parent, socket);
605607 }
606608 else {
@@ -641,7 +643,7 @@ namespace SL {
641643 }
642644 // zero is not possible
643645 bytestoread -= dataconsumed;
644- memcpy (socket-> ReceiveHeader , extradata-> data ( ), dataconsumed);
646+ std::copy_n ( asio::buffers_begin (*extradata ), dataconsumed, socket-> ReceiveHeader );
645647 extradata->consume (dataconsumed);
646648
647649 asio::async_read (socket->Socket , asio::buffer (socket->ReceiveHeader + dataconsumed, bytestoread), [parent, socket, extradata](const std::error_code& ec, size_t bytes_transferred) {
@@ -670,10 +672,11 @@ namespace SL {
670672 dataconsumed = 0 ;
671673 }
672674 bytestoread -= dataconsumed;
673- memcpy (socket->ReceiveHeader , extradata->data (), dataconsumed);
675+ std::copy_n (asio::buffers_begin (*extradata), dataconsumed, socket->ReceiveHeader + 2 );
676+ // memcpy(socket->ReceiveHeader, extradata->data(), dataconsumed);
674677 extradata->consume (dataconsumed);
675678
676- asio::async_read (socket->Socket , asio::buffer (socket->ReceiveHeader + dataconsumed, bytestoread), [parent, socket, extradata](const std::error_code& ec, size_t ) {
679+ asio::async_read (socket->Socket , asio::buffer (socket->ReceiveHeader + 2 + dataconsumed, bytestoread), [parent, socket, extradata](const std::error_code& ec, size_t ) {
677680 if (!ec) {
678681 if (extradata->size () > 0 ) {
679682 ReadBody (parent, socket, extradata);
0 commit comments