The class uses a fast random context. The context is documented to be not thread-safe.

Currently, SendMessages is only called in a single thread, but in the future or in unit tests, this might change.
{
private:
    static constexpr double MAX_FILTER_FEERATE = 1e7;
    /** FEE_FILTER_SPACING is just used to provide some quantization of fee
     * filter results.  Historically it reused FEE_SPACING, but it is completely
     * unrelated, and was made a separate constant so the two concepts are not
     * tied together */
    static constexpr double FEE_FILTER_SPACING = 1.1;
public:
    
    explicit FeeFilterRounder(const CFeeRate& minIncrementalFee);
    
    CAmount round(CAmount currentMinFee);
private:
    std::set<double> feeset;
    FastRandomContext insecure_rand;
};
#endif