Тайм-аут получения на SMPP
Кто-нибудь знает причину или логику, почему установка времени ожидания в методе приема OpenSMPP всегда делится на десять? Это основано на моем опыте: когда я устанавливаю его на 5 секунд, время ожидания становится равным 10 секундам, а когда я устанавливаю его на 11 секунд, время ожидания становится равным 20 секундам.
Я попытался найти ответ, углубившись в коды open-smpp-3.0.1, но не смог найти логику, в которой 1 секунда становится 10 секундами. Я надеюсь, что кто-то здесь смог понять это раньше.
Кстати, мой запрос на привязку - Receiver, а мой режим синхронизации - синхронный.
1 ответ
Я думаю, что это "Тайм-аут ожидания очереди". В коде сказано об этом значении:
"Этот тайм-аут указывает, как долго прием будет переведен в ожидание, если PDU (ожидаемый или любой) еще не находится в pduQueue. После этого очередь проверяется снова (и т. Д.), Пока не истечет время ожидания приема или пока PDU не будет получен".,
Значение по умолчанию - 10 секунд, поэтому, если время ожидания составляет от 1 до 10 секунд, очередь ожидает только 10 секунд, но если вы задаете время ожидания для получателя, равное 11 секундам, она ждет 2 раза для очереди. Таким образом, приемник ждет 20 секунд. Вы можете изменить это значение, вызывая после привязки этот метод:
sessionSmpp.getReceiver().setQueueWaitTimeout(milliseconds);