Я просматривал документацию по раскопкам и не понимаю разницы между dig + try = x и dig + retries = x. Может кто-нибудь объяснить, пожалуйста?
В подобных случаях вы можете начать с указания версии dig
. говорить о том, чтобы избежать возможных двусмысленностей.
В моей версии у меня есть только + попытки
и + повтор
(обратите внимание на единственное, а не множественное число), а в строке справочной страницы на + retry
конкретно говорится о чем-то связанном to + пытается
, то есть:
Эта опция устанавливает количество повторных попыток UDP-запросов к серверу, равное T вместо значения по умолчанию, 2. В отличие от + попыток, это не включает начальный запрос.
Если вы изучите его исходный код, посетите https://gitlab.isc.org/isc-projects/bind9/-/blob/9c8b7a5c450d54332f25830aa47035d87490bb3a/bin/dig/dig.c для последней версии. , вы можете видеть, что истина даже объясняется «проще» (показывает, что две опции действуют на одну и ту же переменную на самом деле)
case 'r':
switch (cmd[1]) {
[..]
case 'e':
switch (cmd[2]) {
[..]
case 't': /* retry / retries */
[..]
result = parse_uint(&lookup->retries, value,
MAXTRIES - 1, "retries");
if (result != ISC_R_SUCCESS) {
warn("Couldn't parse retries");
goto exit_or_usage;
}
lookup->retries++;
[..]
case 't':
switch (cmd[1]) {
[..]
case 'r':
switch (cmd[2]) {
[..]
case 'i': /* tries */
[..]
result = parse_uint(&lookup->retries, value,
MAXTRIES, "tries");
if (result != ISC_R_SUCCESS) {
warn("Couldn't parse tries");
goto exit_or_usage;
}
if (lookup->retries == 0) {
lookup->retries = 1;
}
break;
Итак, retry
(или retries
на самом деле) устанавливает lookup-> повторяет
значение, а затем увеличивает его, а пытается
просто устанавливает значение, которое было задано. пытается
дает общее количество попыток сделать, а retry
дает количество попыток сделать после первого сбоя, так что общее количество попыток равно плюс одному. {{1 }} То же самое, только другой API / семантика.
FWIW, lookup-> retries
инициализируется в другом месте (перед указанным выше) следующим образом:
int tries = 3;
[..]
*looknew = (dig_lookup_t){
[..]
.retries = tries,
Этот 3
объясняет 2
на странице руководства поскольку 2
- это количество повторных попыток, поэтому после первой попытки общее количество попыток по умолчанию будет равно 3. Да, я действительно думаю, что все это довольно запутанно для чего-то тривиального: -)