1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
crate::ix!();

impl BlockPolicyEstimator {

    /**
      | Helper for estimateSmartFee
      |
      | Ensure that for a conservative estimate,
      | the
      | 
      | DOUBLE_SUCCESS_PCT is also met at 2
      | * target for any longer time horizons.
      |
      */
    #[EXCLUSIVE_LOCKS_REQUIRED(m_cs_fee_estimator)]
    pub fn estimate_conservative_fee(&self, 
        double_target: u32,
        result:        *mut EstimationResult) -> f64 {
        
        todo!();
        /*
            double estimate = -1;
        EstimationResult tempResult;
        if (doubleTarget <= shortStats->GetMaxConfirms()) {
            estimate = feeStats->EstimateMedianVal(doubleTarget, SUFFICIENT_FEETXS, DOUBLE_SUCCESS_PCT, nBestSeenHeight, result);
        }
        if (doubleTarget <= feeStats->GetMaxConfirms()) {
            double longEstimate = longStats->EstimateMedianVal(doubleTarget, SUFFICIENT_FEETXS, DOUBLE_SUCCESS_PCT, nBestSeenHeight, &tempResult);
            if (longEstimate > estimate) {
                estimate = longEstimate;
                if (result) *result = tempResult;
            }
        }
        return estimate;
        */
    }
}