[HICN-458] Setting data packet size socket option when the payload size is passed 98/23998/3
authorAlberto Compagno <acompagn+fdio@cisco.com>
Fri, 13 Dec 2019 20:51:05 +0000 (20:51 +0000)
committerAlberto Compagno <acompagn+fdio@cisco.com>
Fri, 27 Mar 2020 14:41:23 +0000 (15:41 +0100)
Signed-off-by: Alberto Compagno <acompagn+fdio@cisco.com>
Change-Id: Ie0ee26a1e8bff3279cc88c4e7c09b0fdb23924c1

libtransport/src/implementation/socket_producer.h
utils/src/hiperf.cc

index cae0ad7..9ccc59d 100644 (file)
@@ -454,7 +454,7 @@ class ProducerSocket : public Socket<BasePortal>,
                               uint32_t socket_option_value) {
     switch (socket_option_key) {
       case GeneralTransportOptions::DATA_PACKET_SIZE:
-        if (socket_option_value < default_values::max_content_object_size &&
+        if (socket_option_value <= default_values::max_content_object_size &&
             socket_option_value > 0) {
           data_packet_size_ = socket_option_value;
         }
index eabd12c..008bd0c 100644 (file)
@@ -165,7 +165,7 @@ struct ServerConfiguration {
         rtc_(false),
         interactive_(false),
         production_rate_(std::string("2048kbps")),
-        payload_size_(1400)
+        payload_size_(1440)
 #ifdef SECURE_HICNTRANSPORT
         ,
         secure_(false)
@@ -896,6 +896,11 @@ class HIperfServer {
       }
     }
 
+    producer_socket_->setSocketOption(
+        GeneralTransportOptions::DATA_PACKET_SIZE,
+        (uint32_t)(
+            configuration_.payload_size_ +
+            (configuration_.name.getAddressFamily() == AF_INET ? 40 : 60)));
     producer_socket_->registerPrefix(configuration_.name);
     producer_socket_->connect();