Skip to content

Add SeqTsEchoHeader, and align new end-to-end stats header

Tom Henderson requested to merge tomhenderson/ns-3-dev:app-headers into master

This combines the lingering patch from bugzilla issue 2111: https://www.nsnam.org/bugzilla/show_bug.cgi?id=2111 on a SeqTsHeader variant that has an additional timestamp field, and my suggested changes to Natale's recent E2E stats commit.

I removed the #pragma once directives since we are not using those on the project; if we were to move to those, we should handle as a separate issue, but the last time that I tried to use them, they caused issues with Clang finding headers twice, and I am not sure they are worth the trouble with our current build system that has headers in multiple places.

I renamed the 'E2EStats' naming for consistency with the other headers, and because this is also not really providing any stats but is just exporting a header to enable client code to compute stats.

I still have a concern that this is not robust to the case where the bulk send application creates the header and then the call to Socket::Send() returns without copying all of the bytes. It seems to be possible for headers to be truncated or skipped when the socket buffer is full, causing mistakes on the receiver side. Probably some test code is needed to explore this, and possibly some buffering of incomplete writes on the sender side.

Merge request reports