Class: Quonfig::SSEConfigClient::Options
- Inherits:
-
Object
- Object
- Quonfig::SSEConfigClient::Options
- Defined in:
- lib/quonfig/sse_config_client.rb
Instance Attribute Summary collapse
-
#sse_connect_timeout ⇒ Object
readonly
Returns the value of attribute sse_connect_timeout.
-
#sse_initial_reconnect_delay ⇒ Object
readonly
Returns the value of attribute sse_initial_reconnect_delay.
-
#sse_max_reconnect_delay ⇒ Object
readonly
Returns the value of attribute sse_max_reconnect_delay.
-
#sse_read_timeout ⇒ Object
readonly
Returns the value of attribute sse_read_timeout.
Instance Method Summary collapse
-
#initialize(sse_read_timeout: 90, sse_connect_timeout: 10, sse_initial_reconnect_delay: 1.0, sse_max_reconnect_delay: 30.0) ⇒ Options
constructor
sse_read_timeout: 90s = 3x the 30s server heartbeat.
Constructor Details
#initialize(sse_read_timeout: 90, sse_connect_timeout: 10, sse_initial_reconnect_delay: 1.0, sse_max_reconnect_delay: 30.0) ⇒ Options
sse_read_timeout: 90s = 3x the 30s server heartbeat. A silent socket stall trips within one missed-heartbeat window rather than the OS TCP idle (often hours).
sse_initial_reconnect_delay / sse_max_reconnect_delay: backoff bounds. Each failed reconnect doubles the delay (with +/-50% jitter) up to the max. A successful event delivery resets the delay to the initial value — matches sdk-python’s policy. A clean server-initiated FIN is treated as “not a failure for backoff purposes” because LBs recycling connections is normal; the reconnect counter still increments.
41 42 43 44 45 46 47 48 49 |
# File 'lib/quonfig/sse_config_client.rb', line 41 def initialize(sse_read_timeout: 90, sse_connect_timeout: 10, sse_initial_reconnect_delay: 1.0, sse_max_reconnect_delay: 30.0) @sse_read_timeout = sse_read_timeout @sse_connect_timeout = sse_connect_timeout @sse_initial_reconnect_delay = sse_initial_reconnect_delay.to_f @sse_max_reconnect_delay = sse_max_reconnect_delay.to_f end |
Instance Attribute Details
#sse_connect_timeout ⇒ Object (readonly)
Returns the value of attribute sse_connect_timeout.
28 29 30 |
# File 'lib/quonfig/sse_config_client.rb', line 28 def sse_connect_timeout @sse_connect_timeout end |
#sse_initial_reconnect_delay ⇒ Object (readonly)
Returns the value of attribute sse_initial_reconnect_delay.
28 29 30 |
# File 'lib/quonfig/sse_config_client.rb', line 28 def sse_initial_reconnect_delay @sse_initial_reconnect_delay end |
#sse_max_reconnect_delay ⇒ Object (readonly)
Returns the value of attribute sse_max_reconnect_delay.
28 29 30 |
# File 'lib/quonfig/sse_config_client.rb', line 28 def sse_max_reconnect_delay @sse_max_reconnect_delay end |
#sse_read_timeout ⇒ Object (readonly)
Returns the value of attribute sse_read_timeout.
28 29 30 |
# File 'lib/quonfig/sse_config_client.rb', line 28 def sse_read_timeout @sse_read_timeout end |