title: What should be called for re-negotiation in SSL_Read/SSL_Write
body: <p>I'm trying to add OpenSSL into epoll, and the socket is in non-blocking mode.
  A question confusing me is that: <code>SSL_read</code> might yield <code>SSL_ERROR_WANT_WRITE</code> and <code>SSL_write</code> might yield <code>SSL_ERROR_WANT_READ</code> because of SSL renegotiation.</p>
  
  <p>So, my questions are:</p>
  
  <ol>
  <li><p>If SSL_read yield <code>SSL_ERROR_WANT_WRITE</code>, and I modify socket event to <code>EPOLLOUT</code>. Then, when the socket become writable later, what should I call, <code>SSL_read</code> or <code>SSL_write</code>? (the API doc said the same operation has to be repeated)</p></li>
  <li><p>Similar to question (1), and the case is <code>SSL_write</code> yield <code>SSL_ERROR_WANT_READ</code>.</p></li>
  <li><p>If <code>SSL_read</code> yields <code>SSL_ERROR_WANT_WRITE</code>, can I call <code>SSL_send</code> to send data next? (TCP is full duplex, but it seems OpenSSL can't read and write Independently...)</p></li>
  <li><p>Similar to question (3), and the case is <code>SSL_write</code> yield <code>SSL_ERROR_WANT_READ</code>.</p></li>
  </ol>
  
  <p>Thanks a lot!</p>