diff --git a/include/engine/api/match_parameters.hpp b/include/engine/api/match_parameters.hpp index 1460ba603..87e67ebbb 100644 --- a/include/engine/api/match_parameters.hpp +++ b/include/engine/api/match_parameters.hpp @@ -28,13 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ENGINE_API_MATCH_PARAMETERS_HPP #define ENGINE_API_MATCH_PARAMETERS_HPP -#define SEARCH_RADIUS_BASE_DEFAULT 45 -#define SEARCH_RADIUS_BASE_LIMIT 100 -#define SEARCH_RADIUS_MULTIPLIER_DEFAULT 3.5 -#define SEARCH_RADIUS_MULTIPLIER_LIMIT 10 -#define SEARCH_RADIUS_MAX_DEFAULT 200 -#define SEARCH_RADIUS_MAX_LIMIT 500 - #include "engine/api/route_parameters.hpp" #include @@ -74,20 +67,10 @@ struct MatchParameters : public RouteParameters } std::vector timestamps; - - double search_radius_base = SEARCH_RADIUS_BASE_DEFAULT; - double search_radius_multiplier = SEARCH_RADIUS_MULTIPLIER_DEFAULT; - double search_radius_max = SEARCH_RADIUS_MAX_DEFAULT; - bool IsValid() const { return RouteParameters::IsValid() && - (timestamps.empty() || timestamps.size() == coordinates.size()) && - search_radius_base >= 0 && search_radius_multiplier >= 0 && search_radius_max > 0 && - // limit the search_radius parameters to sane values to prevent overloading the server - search_radius_base <= SEARCH_RADIUS_BASE_LIMIT && - search_radius_multiplier <= SEARCH_RADIUS_MULTIPLIER_LIMIT && - search_radius_max <= SEARCH_RADIUS_MAX_LIMIT; + (timestamps.empty() || timestamps.size() == coordinates.size()); } }; } diff --git a/include/server/api/match_parameter_grammar.hpp b/include/server/api/match_parameter_grammar.hpp index bb3cfa765..ac4c02c67 100644 --- a/include/server/api/match_parameter_grammar.hpp +++ b/include/server/api/match_parameter_grammar.hpp @@ -33,33 +33,13 @@ struct MatchParametersGrammar final : public RouteParametersGrammar - -('?' > (timestamps_rule(qi::_r1) | - search_radius_base_rule(qi::_r1) | - search_radius_multiplier_rule(qi::_r1) | - search_radius_max_rule(qi::_r1) | - BaseGrammar::base_rule(qi::_r1)) - % '&'); + -('?' > (timestamps_rule(qi::_r1) | BaseGrammar::base_rule(qi::_r1)) % '&'); } private: qi::rule root_rule; qi::rule timestamps_rule; - qi::rule search_radius_base_rule; - qi::rule search_radius_multiplier_rule; - qi::rule search_radius_max_rule; }; } } diff --git a/src/engine/plugins/match.cpp b/src/engine/plugins/match.cpp index 4b5ecf6c0..4fa6a97fe 100644 --- a/src/engine/plugins/match.cpp +++ b/src/engine/plugins/match.cpp @@ -153,11 +153,15 @@ Status MatchPlugin::HandleRequest(const std::shared_ptr &maybe_radius) { - double in_radius = maybe_radius ? *maybe_radius : DEFAULT_GPS_PRECISION; + if (maybe_radius) + { + return *maybe_radius * RADIUS_MULTIPLIER; + } + else + { + return DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER; + } - return std::min( - in_radius * parameters.search_radius_multiplier + parameters.search_radius_base, - parameters.search_radius_max); }); }