• Ruslan Drozhdzh's avatar
    plugin/forward: use dynamic read timeout (#1659) · a20b4fe2
    Ruslan Drozhdzh authored
    - each proxy stores average RTT (round trip time) of last rttCount queries.
       For now, I assigned the value 4 to rttCount
     - the read timeout is calculated as doubled average RTT, but it cannot
       exceed default timeout
     - initial avg RTT is set to a half of default timeout, so initial timeout
       is equal to default timeout
     - the RTT for failed read is considered equal to default timeout, so any
       failed read will lead to increasing average RTT (up to default timeout)
     - dynamic timeouts will let us react faster on lost UDP packets
     - in future, we may develop a low-latency forward policy based on
       collected RTT values of proxies
    a20b4fe2
proxy.go 2.2 KB