| 943 | } |
| 944 | |
| 945 | bool Config_Option_set |
| 946 | ( |
| 947 | Config_Option_Field field, |
| 948 | const char *val, |
| 949 | char **err |
| 950 | ) { |
| 951 | //-------------------------------------------------------------------------- |
| 952 | // set the option |
| 953 | //-------------------------------------------------------------------------- |
| 954 | |
| 955 | switch(field) { |
| 956 | //---------------------------------------------------------------------- |
| 957 | // max queued queries |
| 958 | //---------------------------------------------------------------------- |
| 959 | |
| 960 | case Config_MAX_QUEUED_QUERIES: { |
| 961 | long long max_queued_queries; |
| 962 | if(!_Config_ParsePositiveInteger(val, &max_queued_queries)) { |
| 963 | return false; |
| 964 | } |
| 965 | Config_max_queued_queries_set(max_queued_queries); |
| 966 | } |
| 967 | break; |
| 968 | |
| 969 | //---------------------------------------------------------------------- |
| 970 | // timeout |
| 971 | //---------------------------------------------------------------------- |
| 972 | |
| 973 | case Config_TIMEOUT: { |
| 974 | long long timeout; |
| 975 | if(!_Config_ParseNonNegativeInteger(val, &timeout)) return false; |
| 976 | if(!_Config_check_if_new_timeout_used()) { |
| 977 | if(err) *err = "The TIMEOUT configuration parameter is deprecated. Please set TIMEOUT_MAX and TIMEOUT_DEFAULT instead"; |
| 978 | return false; |
| 979 | } |
| 980 | Config_timeout_set(timeout); |
| 981 | } |
| 982 | break; |
| 983 | |
| 984 | //---------------------------------------------------------------------- |
| 985 | // timeout default |
| 986 | //---------------------------------------------------------------------- |
| 987 | |
| 988 | case Config_TIMEOUT_DEFAULT: { |
| 989 | long long timeout_default; |
| 990 | if(!_Config_ParseNonNegativeInteger(val, &timeout_default)) return false; |
| 991 | if(!Config_timeout_default_set(timeout_default)) { |
| 992 | if(err) *err = "TIMEOUT_DEFAULT configuration parameter cannot be set to a value higher than TIMEOUT_MAX"; |
| 993 | return false; |
| 994 | } |
| 995 | } |
| 996 | break; |
| 997 | |
| 998 | //---------------------------------------------------------------------- |
| 999 | // timeout max |
| 1000 | //---------------------------------------------------------------------- |
| 1001 | |
| 1002 | case Config_TIMEOUT_MAX: { |