@@ -30,14 +30,16 @@ class CacheReclaimStrategy : public Jsonizable {
3030 int32_t trigger_period_seconds,
3131 int32_t reclaim_step_size,
3232 int32_t reclaim_step_percentage,
33- int32_t delay_before_delete_ms = 0 )
33+ int32_t delay_before_delete_ms = 0 ,
34+ bool enable_instance_fairness = true )
3435 : storage_unique_name_(storage_unique_name)
3536 , reclaim_policy_(reclaim_policy)
3637 , trigger_strategy_(trigger_strategy)
3738 , trigger_period_seconds_(trigger_period_seconds)
3839 , reclaim_step_size_(reclaim_step_size)
3940 , reclaim_step_percentage_(reclaim_step_percentage)
40- , delay_before_delete_ms_(delay_before_delete_ms) {}
41+ , delay_before_delete_ms_(delay_before_delete_ms)
42+ , enable_instance_fairness_(enable_instance_fairness) {}
4143
4244 ~CacheReclaimStrategy () override ;
4345
@@ -52,6 +54,7 @@ class CacheReclaimStrategy : public Jsonizable {
5254 int32_t reclaim_step_size () const { return reclaim_step_size_; }
5355 int32_t reclaim_step_percentage () const { return reclaim_step_percentage_; }
5456 int32_t delay_before_delete_ms () const { return delay_before_delete_ms_; }
57+ bool enable_instance_fairness () const { return enable_instance_fairness_; }
5558
5659 // Setters
5760 void set_storage_unique_name (const std::string &storage_unique_name) { storage_unique_name_ = storage_unique_name; }
@@ -67,6 +70,9 @@ class CacheReclaimStrategy : public Jsonizable {
6770 void set_delay_before_delete_ms (int32_t delay_before_delete_ms) {
6871 delay_before_delete_ms_ = delay_before_delete_ms;
6972 }
73+ void set_enable_instance_fairness (bool enable_instance_fairness) {
74+ enable_instance_fairness_ = enable_instance_fairness;
75+ }
7076
7177public:
7278 bool FromRapidValue (const rapidjson::Value &rapid_value) override ;
@@ -82,6 +88,7 @@ class CacheReclaimStrategy : public Jsonizable {
8288 int32_t reclaim_step_size_;
8389 int32_t reclaim_step_percentage_;
8490 int32_t delay_before_delete_ms_;
91+ bool enable_instance_fairness_{true };
8592};
8693
87- } // namespace kv_cache_manager
94+ } // namespace kv_cache_manager
0 commit comments