Class: Faye::Engine::Base
- Inherits:
-
Object
- Object
- Faye::Engine::Base
- Defined in:
- lib/faye/engines/base.rb
Constant Summary
Constants included from Logging
Logging::DEFAULT_LOG_LEVEL, Logging::LOG_LEVELS
Instance Attribute Summary collapse
-
#interval ⇒ Object
readonly
Returns the value of attribute interval.
-
#timeout ⇒ Object
readonly
Returns the value of attribute timeout.
Attributes included from Logging
Instance Method Summary collapse
- #close_connection(client_id) ⇒ Object
- #connect(client_id, options = {}, &callback) ⇒ Object
- #connection(client_id, create) ⇒ Object
- #flush(client_id) ⇒ Object
-
#initialize(options) ⇒ Base
constructor
A new instance of Base.
Methods included from Timeouts
Methods included from Logging
Constructor Details
#initialize(options) ⇒ Base
Returns a new instance of Base.
25 26 27 28 29 30 31 32 |
# File 'lib/faye/engines/base.rb', line 25 def initialize() @options = @connections = {} @interval = @options[:interval] || INTERVAL @timeout = @options[:timeout] || TIMEOUT debug 'Created new engine: ?', @options end |
Instance Attribute Details
#interval ⇒ Object (readonly)
Returns the value of attribute interval.
23 24 25 |
# File 'lib/faye/engines/base.rb', line 23 def interval @interval end |
#timeout ⇒ Object (readonly)
Returns the value of attribute timeout.
23 24 25 |
# File 'lib/faye/engines/base.rb', line 23 def timeout @timeout end |
Instance Method Details
#close_connection(client_id) ⇒ Object
48 49 50 51 |
# File 'lib/faye/engines/base.rb', line 48 def close_connection(client_id) debug 'Closing connection for ?', client_id @connections.delete(client_id) end |
#connect(client_id, options = {}, &callback) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/faye/engines/base.rb', line 34 def connect(client_id, = {}, &callback) debug 'Accepting connection from ?', client_id ping(client_id) conn = connection(client_id, true) conn.connect(, &callback) empty_queue(client_id) end |
#connection(client_id, create) ⇒ Object
42 43 44 45 46 |
# File 'lib/faye/engines/base.rb', line 42 def connection(client_id, create) conn = @connections[client_id] return conn if conn or not create @connections[client_id] = Connection.new(self, client_id) end |
#flush(client_id) ⇒ Object
53 54 55 56 57 |
# File 'lib/faye/engines/base.rb', line 53 def flush(client_id) debug 'Flushing message queue for ?', client_id conn = @connections[client_id] conn.flush! if conn end |