diff --git a/lib/session_manager.rb b/lib/session_manager.rb index 80b1ffe9dcbb66c4b7d358dd8301b224aef6deee..5eac3d36839524442b0864f33801ed15a344be44 100644 --- a/lib/session_manager.rb +++ b/lib/session_manager.rb @@ -11,19 +11,19 @@ class SessionManager @error_if = error_if end - def promise_for(stanza) + def promise_for(stanza, timeout: @timeout) id = "#{stanza.to.stripped}/#{stanza.public_send(@id_msg)}" @sessions.fetch(id) do @sessions[id] = EMPromise.new - EM.add_timer(@timeout) do + EM.add_timer(timeout) do @sessions.delete(id)&.reject(Timeout.new) end @sessions[id] end end - def write(stanza) - promise = promise_for(stanza) + def write(stanza, timeout: @timeout) + promise = promise_for(stanza, timeout: timeout) @blather << stanza promise end