@@ -98,13 +98,11 @@ map<string, string> qos_to_ref_table_map = {
98
98
#define DSCP_MAX_VAL 63
99
99
#define EXP_MAX_VAL 7
100
100
101
- task_process_status QosMapHandler::processWorkItem (Consumer& consumer)
101
+ task_process_status QosMapHandler::processWorkItem (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
102
102
{
103
103
SWSS_LOG_ENTER ();
104
104
105
105
sai_object_id_t sai_object = SAI_NULL_OBJECT_ID;
106
- auto it = consumer.m_toSync .begin ();
107
- KeyOpFieldsValuesTuple tuple = it->second ;
108
106
string qos_object_name = kfvKey (tuple);
109
107
string qos_map_type_name = consumer.getTableName ();
110
108
string op = kfvOp (tuple);
@@ -321,11 +319,11 @@ bool DscpToTcMapHandler::removeQosItem(sai_object_id_t sai_object)
321
319
return true ;
322
320
}
323
321
324
- task_process_status QosOrch::handleDscpToTcTable (Consumer& consumer)
322
+ task_process_status QosOrch::handleDscpToTcTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
325
323
{
326
324
SWSS_LOG_ENTER ();
327
325
DscpToTcMapHandler dscp_tc_handler;
328
- return dscp_tc_handler.processWorkItem (consumer);
326
+ return dscp_tc_handler.processWorkItem (consumer, tuple );
329
327
}
330
328
331
329
bool MplsTcToTcMapHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -376,11 +374,11 @@ sai_object_id_t MplsTcToTcMapHandler::addQosItem(const vector<sai_attribute_t> &
376
374
return sai_object;
377
375
}
378
376
379
- task_process_status QosOrch::handleMplsTcToTcTable (Consumer& consumer)
377
+ task_process_status QosOrch::handleMplsTcToTcTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
380
378
{
381
379
SWSS_LOG_ENTER ();
382
380
MplsTcToTcMapHandler mpls_tc_to_tc_handler;
383
- return mpls_tc_to_tc_handler.processWorkItem (consumer);
381
+ return mpls_tc_to_tc_handler.processWorkItem (consumer, tuple );
384
382
}
385
383
386
384
bool Dot1pToTcMapHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -445,11 +443,11 @@ sai_object_id_t Dot1pToTcMapHandler::addQosItem(const vector<sai_attribute_t> &a
445
443
return object_id;
446
444
}
447
445
448
- task_process_status QosOrch::handleDot1pToTcTable (Consumer &consumer)
446
+ task_process_status QosOrch::handleDot1pToTcTable (Consumer &consumer, KeyOpFieldsValuesTuple &tuple )
449
447
{
450
448
SWSS_LOG_ENTER ();
451
449
Dot1pToTcMapHandler dot1p_tc_handler;
452
- return dot1p_tc_handler.processWorkItem (consumer);
450
+ return dot1p_tc_handler.processWorkItem (consumer, tuple );
453
451
}
454
452
455
453
bool TcToQueueMapHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -498,11 +496,11 @@ sai_object_id_t TcToQueueMapHandler::addQosItem(const vector<sai_attribute_t> &a
498
496
return sai_object;
499
497
}
500
498
501
- task_process_status QosOrch::handleTcToQueueTable (Consumer& consumer)
499
+ task_process_status QosOrch::handleTcToQueueTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
502
500
{
503
501
SWSS_LOG_ENTER ();
504
502
TcToQueueMapHandler tc_queue_handler;
505
- return tc_queue_handler.processWorkItem (consumer);
503
+ return tc_queue_handler.processWorkItem (consumer, tuple );
506
504
}
507
505
508
506
void WredMapHandler::freeAttribResources (vector<sai_attribute_t > &attributes)
@@ -719,11 +717,11 @@ bool WredMapHandler::removeQosItem(sai_object_id_t sai_object)
719
717
return true ;
720
718
}
721
719
722
- task_process_status QosOrch::handleWredProfileTable (Consumer& consumer)
720
+ task_process_status QosOrch::handleWredProfileTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
723
721
{
724
722
SWSS_LOG_ENTER ();
725
723
WredMapHandler wred_handler;
726
- return wred_handler.processWorkItem (consumer);
724
+ return wred_handler.processWorkItem (consumer, tuple );
727
725
}
728
726
729
727
bool TcToPgHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -772,11 +770,11 @@ sai_object_id_t TcToPgHandler::addQosItem(const vector<sai_attribute_t> &attribu
772
770
773
771
}
774
772
775
- task_process_status QosOrch::handleTcToPgTable (Consumer& consumer)
773
+ task_process_status QosOrch::handleTcToPgTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
776
774
{
777
775
SWSS_LOG_ENTER ();
778
776
TcToPgHandler tc_to_pg_handler;
779
- return tc_to_pg_handler.processWorkItem (consumer);
777
+ return tc_to_pg_handler.processWorkItem (consumer, tuple );
780
778
}
781
779
782
780
bool PfcPrioToPgHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -826,11 +824,11 @@ sai_object_id_t PfcPrioToPgHandler::addQosItem(const vector<sai_attribute_t> &at
826
824
827
825
}
828
826
829
- task_process_status QosOrch::handlePfcPrioToPgTable (Consumer& consumer)
827
+ task_process_status QosOrch::handlePfcPrioToPgTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
830
828
{
831
829
SWSS_LOG_ENTER ();
832
830
PfcPrioToPgHandler pfc_prio_to_pg_handler;
833
- return pfc_prio_to_pg_handler.processWorkItem (consumer);
831
+ return pfc_prio_to_pg_handler.processWorkItem (consumer, tuple );
834
832
}
835
833
836
834
bool PfcToQueueHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple, vector<sai_attribute_t > &attributes)
@@ -967,11 +965,11 @@ sai_object_id_t DscpToFcMapHandler::addQosItem(const vector<sai_attribute_t> &at
967
965
return sai_object;
968
966
}
969
967
970
- task_process_status QosOrch::handleDscpToFcTable (Consumer& consumer)
968
+ task_process_status QosOrch::handleDscpToFcTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
971
969
{
972
970
SWSS_LOG_ENTER ();
973
971
DscpToFcMapHandler dscp_fc_handler;
974
- return dscp_fc_handler.processWorkItem (consumer);
972
+ return dscp_fc_handler.processWorkItem (consumer, tuple );
975
973
}
976
974
977
975
bool ExpToFcMapHandler::convertFieldValuesToAttributes (KeyOpFieldsValuesTuple &tuple,
@@ -1058,18 +1056,18 @@ sai_object_id_t ExpToFcMapHandler::addQosItem(const vector<sai_attribute_t> &att
1058
1056
return sai_object;
1059
1057
}
1060
1058
1061
- task_process_status QosOrch::handleExpToFcTable (Consumer& consumer)
1059
+ task_process_status QosOrch::handleExpToFcTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
1062
1060
{
1063
1061
SWSS_LOG_ENTER ();
1064
1062
ExpToFcMapHandler exp_fc_handler;
1065
- return exp_fc_handler.processWorkItem (consumer);
1063
+ return exp_fc_handler.processWorkItem (consumer, tuple );
1066
1064
}
1067
1065
1068
- task_process_status QosOrch::handlePfcToQueueTable (Consumer& consumer)
1066
+ task_process_status QosOrch::handlePfcToQueueTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
1069
1067
{
1070
1068
SWSS_LOG_ENTER ();
1071
1069
PfcToQueueHandler pfc_to_queue_handler;
1072
- return pfc_to_queue_handler.processWorkItem (consumer);
1070
+ return pfc_to_queue_handler.processWorkItem (consumer, tuple );
1073
1071
}
1074
1072
1075
1073
QosOrch::QosOrch (DBConnector *db, vector<string> &tableNames) : Orch(db, tableNames)
@@ -1104,14 +1102,13 @@ void QosOrch::initTableHandlers()
1104
1102
m_qos_handler_map.insert (qos_handler_pair (CFG_PFC_PRIORITY_TO_QUEUE_MAP_TABLE_NAME, &QosOrch::handlePfcToQueueTable));
1105
1103
}
1106
1104
1107
- task_process_status QosOrch::handleSchedulerTable (Consumer& consumer)
1105
+ task_process_status QosOrch::handleSchedulerTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
1108
1106
{
1109
1107
SWSS_LOG_ENTER ();
1110
1108
1111
1109
sai_status_t sai_status;
1112
1110
sai_object_id_t sai_object = SAI_NULL_OBJECT_ID;
1113
1111
1114
- KeyOpFieldsValuesTuple tuple = consumer.m_toSync .begin ()->second ;
1115
1112
string qos_map_type_name = CFG_SCHEDULER_TABLE_NAME;
1116
1113
string qos_object_name = kfvKey (tuple);
1117
1114
string op = kfvOp (tuple);
@@ -1457,11 +1454,9 @@ bool QosOrch::applyWredProfileToQueue(Port &port, size_t queue_ind, sai_object_i
1457
1454
return true ;
1458
1455
}
1459
1456
1460
- task_process_status QosOrch::handleQueueTable (Consumer& consumer)
1457
+ task_process_status QosOrch::handleQueueTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
1461
1458
{
1462
1459
SWSS_LOG_ENTER ();
1463
- auto it = consumer.m_toSync .begin ();
1464
- KeyOpFieldsValuesTuple tuple = it->second ;
1465
1460
Port port;
1466
1461
bool result;
1467
1462
string key = kfvKey (tuple);
@@ -1690,11 +1685,10 @@ task_process_status QosOrch::ResolveMapAndApplyToPort(
1690
1685
return task_process_status::task_success;
1691
1686
}
1692
1687
1693
- task_process_status QosOrch::handlePortQosMapTable (Consumer& consumer)
1688
+ task_process_status QosOrch::handlePortQosMapTable (Consumer& consumer, KeyOpFieldsValuesTuple &tuple )
1694
1689
{
1695
1690
SWSS_LOG_ENTER ();
1696
1691
1697
- KeyOpFieldsValuesTuple tuple = consumer.m_toSync .begin ()->second ;
1698
1692
string key = kfvKey (tuple);
1699
1693
string op = kfvOp (tuple);
1700
1694
vector<string> port_names = tokenize (key, list_item_delimiter);
@@ -1898,7 +1892,7 @@ void QosOrch::doTask(Consumer &consumer)
1898
1892
continue ;
1899
1893
}
1900
1894
1901
- auto task_status = (this ->*(m_qos_handler_map[qos_map_type_name]))(consumer);
1895
+ auto task_status = (this ->*(m_qos_handler_map[qos_map_type_name]))(consumer, it-> second );
1902
1896
switch (task_status)
1903
1897
{
1904
1898
case task_process_status::task_success :
0 commit comments