title: Should I make simultaneous WSASend() calls?
body: <p>I know that in order to call <code>WSASend()</code> simultaneously, I need to provide for each call a unique <code>WSAOVERLAPPED</code> and <code>WSABUF</code> instances. But this means that I have to keep track of these instances for each call, which will complicate things.</p>
  
  <p>I think it would be a better idea if I create a thread that only make <code>WSASend()</code> calls <strong>not simultaneously but rather sequentially</strong>. This thread will wait on a queue that will hold <code>WSASend()</code> requests (each request will contain the socket handle and the string I want to send). When I eventually call <code>WSASend()</code> I will block the thread until I receive a wake up signal from the thread that waits on the completion port telling me that the <code>WSASend()</code> has been completed, and then I go on to fetch the next request.</p>
  
  <p>If this is a good idea, then how should I implement the queue and how to make a blocking fetch call on it (instead of using polling)?</p>