Separate CCS and handshake writing in DTLS.
They run through completely different logic as only handshake is fragmented.
This'll make it easier to rewrite the handshake logic in a follow-up.
Change-Id: I9515feafc06bf069b261073873966e72fcbe13cb
Reviewed-on: https://boringssl-review.googlesource.com/6420
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 79d7205..465d44f 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -3750,8 +3750,15 @@
BIO *rbio; /* used by SSL_read */
BIO *wbio; /* used by SSL_write */
- BIO *bbio; /* used during session-id reuse to concatenate
- * messages */
+
+ /* bbio, if non-NULL, is a buffer placed in front of |wbio| to pack handshake
+ * messages within one flight into a single |BIO_write|.
+ *
+ * TODO(davidben): This does not work right for DTLS. It assumes the MTU is
+ * smaller than the buffer size so that the buffer's internal flushing never
+ * kicks in. It also doesn't kick in for DTLS retransmission. Replace this
+ * with a better mechanism. */
+ BIO *bbio;
int (*handshake_func)(SSL *);