Class: AMQ::Protocol::Class
- Inherits:
-
Object
- Object
- AMQ::Protocol::Class
show all
- Defined in:
- lib/amq/protocol/client.rb
Overview
We don“t instantiate the following classes, as we don”t actually need any per-instance state. Also, this is pretty low-level functionality, hence it should have a reasonable performance. As everyone knows, garbage collector in MRI performs really badly, which is another good reason for not creating any objects, but only use class as a struct. Creating classes is quite expensive though, but here the inheritance comes handy and mainly as we can“t simply make a reference to a function, we can”t use a hash or an object. I“ve been also considering to have just a bunch of methods, but here”s the problem, that after we“d require this file, all these methods would become global which would be a bad, bad thing to do.
Class Method Summary
collapse
Class Method Details
.classes ⇒ Object
203
204
205
|
# File 'lib/amq/protocol/client.rb', line 203
def self.classes
@classes
end
|
.inherited(base) ⇒ Object
197
198
199
200
201
|
# File 'lib/amq/protocol/client.rb', line 197
def self.inherited(base)
if self == Protocol::Class
@classes << base
end
end
|
.method_id ⇒ Object
189
190
191
|
# File 'lib/amq/protocol/client.rb', line 189
def self.method_id
@method_id
end
|
.name ⇒ Object
193
194
195
|
# File 'lib/amq/protocol/client.rb', line 193
def self.name
@name
end
|