aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/supplemental/tls/tls_common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/supplemental/tls/tls_common.c b/src/supplemental/tls/tls_common.c
index 409c6600..5587cfbd 100644
--- a/src/supplemental/tls/tls_common.c
+++ b/src/supplemental/tls/tls_common.c
@@ -1098,6 +1098,8 @@ tls_tcp_send_cb(void *arg)
count = nni_aio_count(aio);
NNI_ASSERT(count <= conn->tcp_send_len);
conn->tcp_send_len -= count;
+ conn->tcp_send_tail += count;
+ conn->tcp_send_tail %= NNG_TLS_MAX_SEND_SIZE;
tls_tcp_send_start(conn);
if (tls_do_handshake(conn)) {
@@ -1180,6 +1182,7 @@ tls_tcp_send_start(tls_conn *conn)
while (len > 0) {
size_t cnt;
+ NNI_ASSERT(nio < 2);
if (tail < head) {
cnt = head - tail;
} else {
@@ -1196,7 +1199,6 @@ tls_tcp_send_start(tls_conn *conn)
nio++;
}
conn->tcp_send_active = true;
- conn->tcp_send_tail = tail;
nni_aio_set_iov(&conn->tcp_send, nio, iov);
nng_stream_send(conn->tcp, &conn->tcp_send);
}