aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/implementation
diff options
context:
space:
mode:
authorLuca Muscariello <muscariello@ieee.org>2022-04-22 17:55:01 +0200
committerMauro Sardara <msardara@cisco.com>2022-04-26 15:30:21 +0200
commita1ac96f497719b897793ac14b287cb8d840651c1 (patch)
tree12c608fe352c21d944b0340ce8d3f0be0fb23b11 /libtransport/src/implementation
parent1ac07d842a3a6ce0fb7fa4039241c8ec1a71419b (diff)
HICN-722: Updates on transport, RTC, manifest usage for RTC, infra.
Co-authored-by: Mauro Sardara <msardara@cisco.com> Co-authored-by: Jordan Augé <jordan.auge+fdio@cisco.com> Co-authored-by: Michele Papalini <micpapal@cisco.com> Co-authored-by: Angelo Mantellini <manangel@cisco.com> Co-authored-by: Jacques Samain <jsamain@cisco.com> Co-authored-by: Olivier Roques <oroques+fdio@cisco.com> Co-authored-by: Enrico Loparco <eloparco@cisco.com> Co-authored-by: Giulio Grassi <gigrassi@cisco.com> manifest: optimize manifest processing manifest: add FEC parameters to manifests manifest: refactor verification process manifest: report auth alerts in hiperf instead of aborting manifest: remove FEC buffer callback in consumer manifest: refactor and enable manifests by default manifest: update manifest header with transport parameters manifest: batch interests for first manifest from RTC producer manifest: refactor processing of RTC manifests manifest: update manifest-related socket options of consumers manifest: update unit tests for manifests manifest: pack manifest headers manifest: verify FEC packets auth: add consumer socket option to set max unverified delay manifest: process manifests after full FEC decoding manifest: manage forward jumps in RTC verifier fec: remove useless fec codes rs: add new code rate rs: add new code rate rs: add new code rate rs: add new code rate libtransport: increase internal packet cache size remove internal cisco info in cmake manifest: add option to set manifest capacity data_input_node.c: add information about adj_index[VLIB_RX] on received data packetsi sysrepo plugin: update build Change-Id: I0cf64d91bd0a1b7cad4eeaa9871f58f5f10434af Signed-off-by: Mauro Sardara <msardara@cisco.com> Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Diffstat (limited to 'libtransport/src/implementation')
-rw-r--r--libtransport/src/implementation/socket_consumer.h35
1 files changed, 16 insertions, 19 deletions
diff --git a/libtransport/src/implementation/socket_consumer.h b/libtransport/src/implementation/socket_consumer.h
index ebdac7f93..33e70888f 100644
--- a/libtransport/src/implementation/socket_consumer.h
+++ b/libtransport/src/implementation/socket_consumer.h
@@ -56,7 +56,8 @@ class ConsumerSocket : public Socket {
rate_estimation_observer_(nullptr),
rate_estimation_batching_parameter_(default_values::batch),
rate_estimation_choice_(0),
- max_unverified_delay_(default_values::max_unverified_delay),
+ unverified_interval_(default_values::unverified_interval),
+ unverified_ratio_(default_values::unverified_ratio),
verifier_(std::make_shared<auth::VoidVerifier>()),
verify_signature_(false),
reset_window_(false),
@@ -71,7 +72,6 @@ class ConsumerSocket : public Socket {
timer_interval_milliseconds_(0),
recovery_strategy_(RtcTransportRecoveryStrategies::RTX_ONLY),
aggregated_data_(false),
- fec_setting_(""),
guard_raaqm_params_() {
switch (protocol) {
case TransportProtocolAlgorithms::CBR:
@@ -197,6 +197,10 @@ class ConsumerSocket : public Socket {
current_window_size_ = socket_option_value;
break;
+ case UNVERIFIED_RATIO:
+ unverified_ratio_ = socket_option_value;
+ break;
+
case GAMMA_VALUE:
gamma_ = socket_option_value;
break;
@@ -238,8 +242,8 @@ class ConsumerSocket : public Socket {
interest_lifetime_ = socket_option_value;
break;
- case GeneralTransportOptions::MAX_UNVERIFIED_TIME:
- max_unverified_delay_ = socket_option_value;
+ case GeneralTransportOptions::UNVERIFIED_INTERVAL:
+ unverified_interval_ = socket_option_value;
break;
case RateEstimationOptions::RATE_ESTIMATION_BATCH_PARAMETER:
@@ -437,11 +441,6 @@ class ConsumerSocket : public Socket {
result = SOCKET_OPTION_SET;
}
break;
- case GeneralTransportOptions::FEC_TYPE:
- fec_setting_ = socket_option_value;
- result = SOCKET_OPTION_SET;
- break;
-
default:
return result;
}
@@ -507,6 +506,10 @@ class ConsumerSocket : public Socket {
socket_option_value = current_window_size_;
break;
+ case GeneralTransportOptions::UNVERIFIED_RATIO:
+ socket_option_value = unverified_ratio_;
+ break;
+
// RAAQM parameters
case RaaqmTransportOptions::GAMMA_VALUE:
@@ -547,8 +550,8 @@ class ConsumerSocket : public Socket {
socket_option_value = interest_lifetime_;
break;
- case GeneralTransportOptions::MAX_UNVERIFIED_TIME:
- socket_option_value = max_unverified_delay_;
+ case GeneralTransportOptions::UNVERIFIED_INTERVAL:
+ socket_option_value = unverified_interval_;
break;
case RaaqmTransportOptions::SAMPLE_NUMBER:
@@ -702,13 +705,9 @@ class ConsumerSocket : public Socket {
case DataLinkOptions::OUTPUT_INTERFACE:
socket_option_value = output_interface_;
break;
- case GeneralTransportOptions::FEC_TYPE:
- socket_option_value = fec_setting_;
- break;
default:
return SOCKET_OPTION_NOT_GET;
}
-
return SOCKET_OPTION_GET;
}
@@ -828,7 +827,8 @@ class ConsumerSocket : public Socket {
int rate_estimation_choice_;
// Verification parameters
- int max_unverified_delay_;
+ uint32_t unverified_interval_;
+ double unverified_ratio_;
std::shared_ptr<auth::Verifier> verifier_;
transport::auth::KeyId *key_id_;
std::atomic_bool verify_signature_;
@@ -857,9 +857,6 @@ class ConsumerSocket : public Socket {
RtcTransportRecoveryStrategies recovery_strategy_;
bool aggregated_data_;
- // FEC setting
- std::string fec_setting_;
-
utils::SpinLock guard_raaqm_params_;
std::string output_interface_;
};