From d6abcbe3bdb6b143e25c975d971fa16df255c246 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Mon, 17 Jun 2019 07:50:22 +0300
Subject: [PATCH] WIP Attempt as WSASend

---
 components/net/cpp/src/peer.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/components/net/cpp/src/peer.cpp b/components/net/cpp/src/peer.cpp
index 5e301ea84..84a450cbe 100644
--- a/components/net/cpp/src/peer.cpp
+++ b/components/net/cpp/src/peer.cpp
@@ -591,10 +591,16 @@ int Peer::_send() {
 
 	auto send_vec = send_buf_.vector();
 	auto send_size = send_buf_.vector_size();
-	int c = 0;
+	vector<WSABUF> wsabuf(send_size);
+
 	for (int i = 0; i < send_size; i++) {
-		c += ftl::net::internal::send(sock_, (char*)send_vec[i].iov_base, (int)send_vec[i].iov_len, 0);
+		wsabuf[i].len = send_vec[i].iov_len;
+		wsabuf[i].buf = (char*)send_vec[i].iov_base;
+		//c += ftl::net::internal::send(sock_, (char*)send_vec[i].iov_base, (int)send_vec[i].iov_len, 0);
 	}
+
+	int bytessent;
+	int c = WSASend(sock_, wsabuf.data(), send_size, &bytessent, 0, NULL, NULL);
 #else
 	int c = ftl::net::internal::writev(sock_, send_buf_.vector(), (int)send_buf_.vector_size());
 #endif
-- 
GitLab