@@ -517,9 +517,8 @@ namespace SL {
517517 else {
518518 dataconsumed = extradata->size ();
519519 }
520- bytestoread -= dataconsumed;
521- std::copy_n (asio::buffers_begin (*extradata), dataconsumed, buffer.get ());
522- // memcpy(buffer.get(), extradata->data(), dataconsumed);
520+ bytestoread -= dataconsumed;
521+ memcpy (buffer.get (), asio::buffer_cast<const void *>(extradata->data ()), dataconsumed);
523522 extradata->consume (dataconsumed);
524523
525524 asio::async_read (socket->Socket , asio::buffer (buffer.get () + dataconsumed, bytestoread), [size, extradata, parent, socket, buffer](const std::error_code& ec, size_t ) {
@@ -580,10 +579,8 @@ namespace SL {
580579 dataconsumed = extradata->size ();
581580 }
582581 bytestoread -= 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);
582+ memcpy (socket->ReceiveBuffer + socket->ReceiveBufferSize - size, asio::buffer_cast<const void *>(extradata->data ()), dataconsumed);
585583 extradata->consume (dataconsumed);
586-
587584 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 ) {
588585 if (!ec) {
589586 auto buffer = socket->ReceiveBuffer + socket->ReceiveBufferSize - size;
@@ -647,7 +644,7 @@ namespace SL {
647644 }
648645 // zero is not possible
649646 bytestoread -= dataconsumed;
650- std::copy_n ( asio::buffers_begin (* extradata), dataconsumed, socket-> ReceiveHeader );
647+ memcpy (socket-> ReceiveHeader , asio::buffer_cast< const void *>( extradata-> data ()), dataconsumed);
651648 extradata->consume (dataconsumed);
652649
653650 asio::async_read (socket->Socket , asio::buffer (socket->ReceiveHeader + dataconsumed, bytestoread), [parent, socket, extradata](const std::error_code& ec, size_t bytes_transferred) {
@@ -676,8 +673,7 @@ namespace SL {
676673 dataconsumed = 0 ;
677674 }
678675 bytestoread -= dataconsumed;
679- std::copy_n (asio::buffers_begin (*extradata), dataconsumed, socket->ReceiveHeader + 2 );
680- // memcpy(socket->ReceiveHeader, extradata->data(), dataconsumed);
676+ memcpy (socket->ReceiveHeader +2 , asio::buffer_cast<const void *>(extradata->data ()), dataconsumed);
681677 extradata->consume (dataconsumed);
682678
683679 asio::async_read (socket->Socket , asio::buffer (socket->ReceiveHeader + 2 + dataconsumed, bytestoread), [parent, socket, extradata](const std::error_code& ec, size_t ) {
0 commit comments