Skip to content
Snippets Groups Projects
Commit 4bbfd177 authored by Daniel Salzman's avatar Daniel Salzman
Browse files

Merge branch 'emb_ngtcp2' into 'master'

Emb ngtcp2

See merge request !1527
parents c79b8579 d44083f5
No related branches found
No related tags found
1 merge request!1527Emb ngtcp2
Pipeline #113492 passed
......@@ -560,7 +560,7 @@ AS_IF([test "$enable_daemon" = "yes" -o "$enable_utilities" = "yes"], [
# QUIC support
AC_ARG_ENABLE([quic],
AS_HELP_STRING([--enable-quic=auto|yes|no], [Support DoQ (needs libngtcp2 >= 0.15.0, gnutls >= 3.7.2) [default=auto]]),
AS_HELP_STRING([--enable-quic=auto|yes|no|embedded], [Support DoQ (needs libngtcp2 >= 0.15.0, gnutls >= 3.7.2) [default=auto]]),
[], [enable_quic=auto])
AS_CASE([$enable_quic],
......@@ -573,6 +573,10 @@ AS_CASE([$enable_quic],
libngtcp2_CFLAGS="-I\$(top_srcdir)/src/contrib/libngtcp2"],
[enable_quic=no
AC_MSG_WARN([gnutls >= 3.7.2 is required for QUIC])]))],
[embedded], [enable_quic=embedded
embedded_libngtcp2_CFLAGS="-I\$(top_srcdir)/src/contrib/libngtcp2 -I\$(top_srcdir)/src/contrib/libngtcp2/ngtcp2/lib"
embedded_libngtcp2_LIBS=$libelf_LIBS
libngtcp2_CFLAGS="-I\$(top_srcdir)/src/contrib/libngtcp2"],
[no], [],
[*], [AC_MSG_ERROR([Invalid value of --enable-quic.])]
)
......
......@@ -74,6 +74,7 @@ void knot_quic_table_free(knot_quic_table_t *table)
}
assert(table->usage == 0);
assert(table->pointers == 0);
assert(table->ibufs_size == 0);
assert(table->obufs_size == 0);
free(table);
......@@ -212,6 +213,7 @@ void quic_stream_free(knot_quic_conn_t *conn, int64_t stream_id)
if (s != NULL && s->inbuf.iov_len > 0) {
free(s->inbuf.iov_base);
conn->ibufs_size -= s->inbuf.iov_len;
conn->quic_table->ibufs_size -= s->inbuf.iov_len;
memset(&s->inbuf, 0, sizeof(s->inbuf));
}
while (s != NULL && s->inbufs != NULL) {
......@@ -362,8 +364,10 @@ int knot_quic_stream_recv_data(knot_quic_conn_t *conn, int64_t stream_id,
}
struct iovec in = { (void *)data, len };
ssize_t prev_ibufs_size = conn->ibufs_size;
int ret = knot_tcp_inbuf_update(&stream->inbuf, in, true,
&stream->inbufs, &conn->ibufs_size);
conn->quic_table->ibufs_size += (ssize_t)conn->ibufs_size - prev_ibufs_size;
if (ret != KNOT_EOK) {
return ret;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment