From 312df3260519fe3197befa7d872daec382331432 Mon Sep 17 00:00:00 2001 From: Erik Boasson Date: Mon, 22 Jun 2020 17:29:59 +0200 Subject: [PATCH] Include payload in retransmit queue length Signed-off-by: Erik Boasson --- docs/manual/options.md | 2 +- etc/cyclonedds.rnc | 2 +- etc/cyclonedds.xsd | 2 +- src/core/ddsi/include/dds/ddsi/ddsi_cfgelems.h | 2 +- src/core/ddsi/src/q_xmsg.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/manual/options.md b/docs/manual/options.md index 451b8b5..0683eac 100644 --- a/docs/manual/options.md +++ b/docs/manual/options.md @@ -640,7 +640,7 @@ This setting limits the maximum number of bytes queued for retransmission. The d The unit must be specified explicitly. Recognised units: B (bytes), kB & KiB (2^10 bytes), MB & MiB (2^20 bytes), GB & GiB (2^30 bytes). -The default value is: "50 kB". +The default value is: "512 kB". #### //CycloneDDS/Domain/Internal/MaxQueuedRexmitMessages diff --git a/etc/cyclonedds.rnc b/etc/cyclonedds.rnc index 0d9aa14..1546c23 100644 --- a/etc/cyclonedds.rnc +++ b/etc/cyclonedds.rnc @@ -452,7 +452,7 @@ CycloneDDS configuration""" ] ] & [ a:documentation [ xml:lang="en" """

This setting limits the maximum number of bytes queued for retransmission. The default value of 0 is unlimited unless an AuxiliaryBandwidthLimit has been set, in which case it becomes NackDelay * AuxiliaryBandwidthLimit. It must be large enough to contain the largest sample that may need to be retransmitted.

The unit must be specified explicitly. Recognised units: B (bytes), kB & KiB (210 bytes), MB & MiB (220 bytes), GB & GiB (230 bytes).

-

The default value is: "50 kB".

""" ] ] +

The default value is: "512 kB".

""" ] ] element MaxQueuedRexmitBytes { memsize }? diff --git a/etc/cyclonedds.xsd b/etc/cyclonedds.xsd index 749f867..cd2d0f4 100644 --- a/etc/cyclonedds.xsd +++ b/etc/cyclonedds.xsd @@ -739,7 +739,7 @@ CycloneDDS configuration <p>This setting limits the maximum number of bytes queued for retransmission. The default value of 0 is unlimited unless an AuxiliaryBandwidthLimit has been set, in which case it becomes NackDelay * AuxiliaryBandwidthLimit. It must be large enough to contain the largest sample that may need to be retransmitted.</p> <p>The unit must be specified explicitly. Recognised units: B (bytes), kB & KiB (2<sup>10</sup> bytes), MB & MiB (2<sup>20</sup> bytes), GB & GiB (2<sup>30</sup> bytes).</p> -<p>The default value is: "50 kB".</p> +<p>The default value is: "512 kB".</p> diff --git a/src/core/ddsi/include/dds/ddsi/ddsi_cfgelems.h b/src/core/ddsi/include/dds/ddsi/ddsi_cfgelems.h index 5a93760..2122812 100644 --- a/src/core/ddsi/include/dds/ddsi/ddsi_cfgelems.h +++ b/src/core/ddsi/include/dds/ddsi/ddsi_cfgelems.h @@ -1140,7 +1140,7 @@ static struct cfgelem internal_cfgelems[] = { "

This element allows configuring the base interval for sending " "writer heartbeats and the bounds within which it can vary.

"), UNIT("duration_inf")), - STRING("MaxQueuedRexmitBytes", NULL, 1, "50 kB", + STRING("MaxQueuedRexmitBytes", NULL, 1, "512 kB", MEMBER(max_queued_rexmit_bytes), FUNCTIONS(0, uf_memsize, 0, pf_memsize), DESCRIPTION( diff --git a/src/core/ddsi/src/q_xmsg.c b/src/core/ddsi/src/q_xmsg.c index 043b32b..ae172c7 100644 --- a/src/core/ddsi/src/q_xmsg.c +++ b/src/core/ddsi/src/q_xmsg.c @@ -492,7 +492,7 @@ int nn_xmsg_compare_fragid (const struct nn_xmsg *a, const struct nn_xmsg *b) size_t nn_xmsg_size (const struct nn_xmsg *m) { - return m->sz; + return m->sz + (m->refd_payload ? (size_t) m->refd_payload_iov.iov_len : 0); } enum nn_xmsg_kind nn_xmsg_kind (const struct nn_xmsg *m)