rabbitmq 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/ext/rabbitmq/Rakefile +14 -9
- data/lib/rabbitmq/connection/channel_manager.rb +61 -0
- data/lib/rabbitmq/connection/event_manager.rb +55 -0
- data/lib/rabbitmq/connection/transport.rb +157 -0
- data/lib/rabbitmq/ffi.rb +4 -356
- data/lib/rabbitmq/ffi/ext.rb +12 -299
- data/lib/rabbitmq/ffi/ext/basic_properties.rb +57 -0
- data/lib/rabbitmq/ffi/ext/bytes.rb +29 -0
- data/lib/rabbitmq/ffi/ext/connection_info.rb +12 -0
- data/lib/rabbitmq/ffi/ext/field_value.rb +49 -0
- data/lib/rabbitmq/ffi/ext/frame.rb +43 -0
- data/lib/rabbitmq/ffi/ext/frame_payload_properties.rb +12 -0
- data/lib/rabbitmq/ffi/ext/method.rb +49 -0
- data/lib/rabbitmq/ffi/ext/table.rb +51 -0
- data/lib/rabbitmq/ffi/ext/timeval.rb +18 -0
- data/lib/rabbitmq/ffi/gen.rb +65 -0
- data/lib/rabbitmq/ffi/gen/access_request.rb +49 -0
- data/lib/rabbitmq/ffi/gen/access_request_ok.rb +29 -0
- data/lib/rabbitmq/ffi/gen/basic_ack.rb +36 -0
- data/lib/rabbitmq/ffi/gen/basic_cancel.rb +37 -0
- data/lib/rabbitmq/ffi/gen/basic_cancel_ok.rb +30 -0
- data/lib/rabbitmq/ffi/gen/basic_consume.rb +57 -0
- data/lib/rabbitmq/ffi/gen/basic_consume_ok.rb +30 -0
- data/lib/rabbitmq/ffi/gen/basic_deliver.rb +48 -0
- data/lib/rabbitmq/ffi/gen/basic_get.rb +40 -0
- data/lib/rabbitmq/ffi/gen/basic_get_empty.rb +30 -0
- data/lib/rabbitmq/ffi/gen/basic_get_ok.rb +47 -0
- data/lib/rabbitmq/ffi/gen/basic_nack.rb +39 -0
- data/lib/rabbitmq/ffi/gen/basic_publish.rb +47 -0
- data/lib/rabbitmq/ffi/gen/basic_qos.rb +39 -0
- data/lib/rabbitmq/ffi/gen/basic_qos_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/basic_recover.rb +29 -0
- data/lib/rabbitmq/ffi/gen/basic_recover_async.rb +29 -0
- data/lib/rabbitmq/ffi/gen/basic_recover_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/basic_reject.rb +36 -0
- data/lib/rabbitmq/ffi/gen/basic_return.rb +45 -0
- data/lib/rabbitmq/ffi/gen/channel_close.rb +45 -0
- data/lib/rabbitmq/ffi/gen/channel_close_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/channel_flow.rb +29 -0
- data/lib/rabbitmq/ffi/gen/channel_flow_ok.rb +29 -0
- data/lib/rabbitmq/ffi/gen/channel_open.rb +30 -0
- data/lib/rabbitmq/ffi/gen/channel_open_ok.rb +30 -0
- data/lib/rabbitmq/ffi/gen/confirm_select.rb +29 -0
- data/lib/rabbitmq/ffi/gen/confirm_select_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/connection_blocked.rb +30 -0
- data/lib/rabbitmq/ffi/gen/connection_close.rb +45 -0
- data/lib/rabbitmq/ffi/gen/connection_close_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/connection_open.rb +41 -0
- data/lib/rabbitmq/ffi/gen/connection_open_ok.rb +30 -0
- data/lib/rabbitmq/ffi/gen/connection_secure.rb +30 -0
- data/lib/rabbitmq/ffi/gen/connection_secure_ok.rb +30 -0
- data/lib/rabbitmq/ffi/gen/connection_start.rb +48 -0
- data/lib/rabbitmq/ffi/gen/connection_start_ok.rb +46 -0
- data/lib/rabbitmq/ffi/gen/connection_tune.rb +39 -0
- data/lib/rabbitmq/ffi/gen/connection_tune_ok.rb +39 -0
- data/lib/rabbitmq/ffi/gen/connection_unblocked.rb +28 -0
- data/lib/rabbitmq/ffi/gen/exchange_bind.rb +52 -0
- data/lib/rabbitmq/ffi/gen/exchange_bind_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/exchange_declare.rb +60 -0
- data/lib/rabbitmq/ffi/gen/exchange_declare_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/exchange_delete.rb +43 -0
- data/lib/rabbitmq/ffi/gen/exchange_delete_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/exchange_unbind.rb +52 -0
- data/lib/rabbitmq/ffi/gen/exchange_unbind_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/queue_bind.rb +52 -0
- data/lib/rabbitmq/ffi/gen/queue_bind_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/queue_declare.rb +56 -0
- data/lib/rabbitmq/ffi/gen/queue_declare_ok.rb +40 -0
- data/lib/rabbitmq/ffi/gen/queue_delete.rb +46 -0
- data/lib/rabbitmq/ffi/gen/queue_delete_ok.rb +29 -0
- data/lib/rabbitmq/ffi/gen/queue_purge.rb +40 -0
- data/lib/rabbitmq/ffi/gen/queue_purge_ok.rb +29 -0
- data/lib/rabbitmq/ffi/gen/queue_unbind.rb +49 -0
- data/lib/rabbitmq/ffi/gen/queue_unbind_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_commit.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_commit_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_rollback.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_rollback_ok.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_select.rb +28 -0
- data/lib/rabbitmq/ffi/gen/tx_select_ok.rb +28 -0
- metadata +79 -2
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ExchangeDeclareOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:exchange_declare_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:exchange_declare_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(dummy: nil)
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_h(free=false)
|
20
|
+
{}
|
21
|
+
end
|
22
|
+
|
23
|
+
def free!
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ExchangeDelete < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:exchange, Bytes,
|
8
|
+
:if_unused, Boolean,
|
9
|
+
:nowait, Boolean
|
10
|
+
)
|
11
|
+
|
12
|
+
def self.id
|
13
|
+
:exchange_delete
|
14
|
+
end
|
15
|
+
|
16
|
+
def id
|
17
|
+
:exchange_delete
|
18
|
+
end
|
19
|
+
|
20
|
+
def apply(ticket: nil, exchange: nil, if_unused: nil, nowait: nil)
|
21
|
+
self[:ticket] = Integer(ticket) if ticket
|
22
|
+
self[:exchange] = Bytes.from_s(exchange.to_s) if exchange
|
23
|
+
self[:if_unused] = if_unused unless if_unused.nil?
|
24
|
+
self[:nowait] = nowait unless nowait.nil?
|
25
|
+
self
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_h(free=false)
|
29
|
+
{
|
30
|
+
ticket: self[:ticket],
|
31
|
+
exchange: self[:exchange].to_s(free),
|
32
|
+
if_unused: self[:if_unused],
|
33
|
+
nowait: self[:nowait]
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
def free!
|
38
|
+
self[:exchange].free!
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ExchangeDeleteOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:exchange_delete_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:exchange_delete_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(dummy: nil)
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_h(free=false)
|
20
|
+
{}
|
21
|
+
end
|
22
|
+
|
23
|
+
def free!
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ExchangeUnbind < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:destination, Bytes,
|
8
|
+
:source, Bytes,
|
9
|
+
:routing_key, Bytes,
|
10
|
+
:nowait, Boolean,
|
11
|
+
:arguments, Table
|
12
|
+
)
|
13
|
+
|
14
|
+
def self.id
|
15
|
+
:exchange_unbind
|
16
|
+
end
|
17
|
+
|
18
|
+
def id
|
19
|
+
:exchange_unbind
|
20
|
+
end
|
21
|
+
|
22
|
+
def apply(ticket: nil, destination: nil, source: nil, routing_key: nil, nowait: nil, arguments: nil)
|
23
|
+
self[:ticket] = Integer(ticket) if ticket
|
24
|
+
self[:destination] = Bytes.from_s(destination.to_s) if destination
|
25
|
+
self[:source] = Bytes.from_s(source.to_s) if source
|
26
|
+
self[:routing_key] = Bytes.from_s(routing_key.to_s) if routing_key
|
27
|
+
self[:nowait] = nowait unless nowait.nil?
|
28
|
+
self[:arguments] = Table.from(arguments) if arguments
|
29
|
+
self
|
30
|
+
end
|
31
|
+
|
32
|
+
def to_h(free=false)
|
33
|
+
{
|
34
|
+
ticket: self[:ticket],
|
35
|
+
destination: self[:destination].to_s(free),
|
36
|
+
source: self[:source].to_s(free),
|
37
|
+
routing_key: self[:routing_key].to_s(free),
|
38
|
+
nowait: self[:nowait],
|
39
|
+
arguments: self[:arguments].to_h(free)
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
def free!
|
44
|
+
self[:destination].free!
|
45
|
+
self[:source].free!
|
46
|
+
self[:routing_key].free!
|
47
|
+
self[:arguments].free!
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ExchangeUnbindOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:exchange_unbind_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:exchange_unbind_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(dummy: nil)
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_h(free=false)
|
20
|
+
{}
|
21
|
+
end
|
22
|
+
|
23
|
+
def free!
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueBind < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:queue, Bytes,
|
8
|
+
:exchange, Bytes,
|
9
|
+
:routing_key, Bytes,
|
10
|
+
:nowait, Boolean,
|
11
|
+
:arguments, Table
|
12
|
+
)
|
13
|
+
|
14
|
+
def self.id
|
15
|
+
:queue_bind
|
16
|
+
end
|
17
|
+
|
18
|
+
def id
|
19
|
+
:queue_bind
|
20
|
+
end
|
21
|
+
|
22
|
+
def apply(ticket: nil, queue: nil, exchange: nil, routing_key: nil, nowait: nil, arguments: nil)
|
23
|
+
self[:ticket] = Integer(ticket) if ticket
|
24
|
+
self[:queue] = Bytes.from_s(queue.to_s) if queue
|
25
|
+
self[:exchange] = Bytes.from_s(exchange.to_s) if exchange
|
26
|
+
self[:routing_key] = Bytes.from_s(routing_key.to_s) if routing_key
|
27
|
+
self[:nowait] = nowait unless nowait.nil?
|
28
|
+
self[:arguments] = Table.from(arguments) if arguments
|
29
|
+
self
|
30
|
+
end
|
31
|
+
|
32
|
+
def to_h(free=false)
|
33
|
+
{
|
34
|
+
ticket: self[:ticket],
|
35
|
+
queue: self[:queue].to_s(free),
|
36
|
+
exchange: self[:exchange].to_s(free),
|
37
|
+
routing_key: self[:routing_key].to_s(free),
|
38
|
+
nowait: self[:nowait],
|
39
|
+
arguments: self[:arguments].to_h(free)
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
def free!
|
44
|
+
self[:queue].free!
|
45
|
+
self[:exchange].free!
|
46
|
+
self[:routing_key].free!
|
47
|
+
self[:arguments].free!
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueBindOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:queue_bind_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:queue_bind_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(dummy: nil)
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_h(free=false)
|
20
|
+
{}
|
21
|
+
end
|
22
|
+
|
23
|
+
def free!
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueDeclare < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:queue, Bytes,
|
8
|
+
:passive, Boolean,
|
9
|
+
:durable, Boolean,
|
10
|
+
:exclusive, Boolean,
|
11
|
+
:auto_delete, Boolean,
|
12
|
+
:nowait, Boolean,
|
13
|
+
:arguments, Table
|
14
|
+
)
|
15
|
+
|
16
|
+
def self.id
|
17
|
+
:queue_declare
|
18
|
+
end
|
19
|
+
|
20
|
+
def id
|
21
|
+
:queue_declare
|
22
|
+
end
|
23
|
+
|
24
|
+
def apply(ticket: nil, queue: nil, passive: nil, durable: nil, exclusive: nil, auto_delete: nil, nowait: nil, arguments: nil)
|
25
|
+
self[:ticket] = Integer(ticket) if ticket
|
26
|
+
self[:queue] = Bytes.from_s(queue.to_s) if queue
|
27
|
+
self[:passive] = passive unless passive.nil?
|
28
|
+
self[:durable] = durable unless durable.nil?
|
29
|
+
self[:exclusive] = exclusive unless exclusive.nil?
|
30
|
+
self[:auto_delete] = auto_delete unless auto_delete.nil?
|
31
|
+
self[:nowait] = nowait unless nowait.nil?
|
32
|
+
self[:arguments] = Table.from(arguments) if arguments
|
33
|
+
self
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_h(free=false)
|
37
|
+
{
|
38
|
+
ticket: self[:ticket],
|
39
|
+
queue: self[:queue].to_s(free),
|
40
|
+
passive: self[:passive],
|
41
|
+
durable: self[:durable],
|
42
|
+
exclusive: self[:exclusive],
|
43
|
+
auto_delete: self[:auto_delete],
|
44
|
+
nowait: self[:nowait],
|
45
|
+
arguments: self[:arguments].to_h(free)
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def free!
|
50
|
+
self[:queue].free!
|
51
|
+
self[:arguments].free!
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueDeclareOk < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:queue, Bytes,
|
7
|
+
:message_count, :uint32,
|
8
|
+
:consumer_count, :uint32
|
9
|
+
)
|
10
|
+
|
11
|
+
def self.id
|
12
|
+
:queue_declare_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def id
|
16
|
+
:queue_declare_ok
|
17
|
+
end
|
18
|
+
|
19
|
+
def apply(queue: nil, message_count: nil, consumer_count: nil)
|
20
|
+
self[:queue] = Bytes.from_s(queue.to_s) if queue
|
21
|
+
self[:message_count] = Integer(message_count) if message_count
|
22
|
+
self[:consumer_count] = Integer(consumer_count) if consumer_count
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_h(free=false)
|
27
|
+
{
|
28
|
+
queue: self[:queue].to_s(free),
|
29
|
+
message_count: self[:message_count],
|
30
|
+
consumer_count: self[:consumer_count]
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def free!
|
35
|
+
self[:queue].free!
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueDelete < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:queue, Bytes,
|
8
|
+
:if_unused, Boolean,
|
9
|
+
:if_empty, Boolean,
|
10
|
+
:nowait, Boolean
|
11
|
+
)
|
12
|
+
|
13
|
+
def self.id
|
14
|
+
:queue_delete
|
15
|
+
end
|
16
|
+
|
17
|
+
def id
|
18
|
+
:queue_delete
|
19
|
+
end
|
20
|
+
|
21
|
+
def apply(ticket: nil, queue: nil, if_unused: nil, if_empty: nil, nowait: nil)
|
22
|
+
self[:ticket] = Integer(ticket) if ticket
|
23
|
+
self[:queue] = Bytes.from_s(queue.to_s) if queue
|
24
|
+
self[:if_unused] = if_unused unless if_unused.nil?
|
25
|
+
self[:if_empty] = if_empty unless if_empty.nil?
|
26
|
+
self[:nowait] = nowait unless nowait.nil?
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_h(free=false)
|
31
|
+
{
|
32
|
+
ticket: self[:ticket],
|
33
|
+
queue: self[:queue].to_s(free),
|
34
|
+
if_unused: self[:if_unused],
|
35
|
+
if_empty: self[:if_empty],
|
36
|
+
nowait: self[:nowait]
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def free!
|
41
|
+
self[:queue].free!
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class QueueDeleteOk < ::FFI::Struct
|
5
|
+
layout(:message_count, :uint32)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:queue_delete_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:queue_delete_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(message_count: nil)
|
16
|
+
self[:message_count] = Integer(message_count) if message_count
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{message_count: self[:message_count]}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|