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,30 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicConsumeOk < ::FFI::Struct
|
5
|
+
layout(:consumer_tag, Bytes)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_consume_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_consume_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(consumer_tag: nil)
|
16
|
+
self[:consumer_tag] = Bytes.from_s(consumer_tag.to_s) if consumer_tag
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{consumer_tag: self[:consumer_tag].to_s(free)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
self[:consumer_tag].free!
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicDeliver < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:consumer_tag, Bytes,
|
7
|
+
:delivery_tag, :uint64,
|
8
|
+
:redelivered, Boolean,
|
9
|
+
:exchange, Bytes,
|
10
|
+
:routing_key, Bytes
|
11
|
+
)
|
12
|
+
|
13
|
+
def self.id
|
14
|
+
:basic_deliver
|
15
|
+
end
|
16
|
+
|
17
|
+
def id
|
18
|
+
:basic_deliver
|
19
|
+
end
|
20
|
+
|
21
|
+
def apply(consumer_tag: nil, delivery_tag: nil, redelivered: nil, exchange: nil, routing_key: nil)
|
22
|
+
self[:consumer_tag] = Bytes.from_s(consumer_tag.to_s) if consumer_tag
|
23
|
+
self[:delivery_tag] = Integer(delivery_tag) if delivery_tag
|
24
|
+
self[:redelivered] = redelivered unless redelivered.nil?
|
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
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_h(free=false)
|
31
|
+
{
|
32
|
+
consumer_tag: self[:consumer_tag].to_s(free),
|
33
|
+
delivery_tag: self[:delivery_tag],
|
34
|
+
redelivered: self[:redelivered],
|
35
|
+
exchange: self[:exchange].to_s(free),
|
36
|
+
routing_key: self[:routing_key].to_s(free)
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def free!
|
41
|
+
self[:consumer_tag].free!
|
42
|
+
self[:exchange].free!
|
43
|
+
self[:routing_key].free!
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicGet < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:queue, Bytes,
|
8
|
+
:no_ack, Boolean
|
9
|
+
)
|
10
|
+
|
11
|
+
def self.id
|
12
|
+
:basic_get
|
13
|
+
end
|
14
|
+
|
15
|
+
def id
|
16
|
+
:basic_get
|
17
|
+
end
|
18
|
+
|
19
|
+
def apply(ticket: nil, queue: nil, no_ack: nil)
|
20
|
+
self[:ticket] = Integer(ticket) if ticket
|
21
|
+
self[:queue] = Bytes.from_s(queue.to_s) if queue
|
22
|
+
self[:no_ack] = no_ack unless no_ack.nil?
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_h(free=false)
|
27
|
+
{
|
28
|
+
ticket: self[:ticket],
|
29
|
+
queue: self[:queue].to_s(free),
|
30
|
+
no_ack: self[:no_ack]
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def free!
|
35
|
+
self[:queue].free!
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicGetEmpty < ::FFI::Struct
|
5
|
+
layout(:cluster_id, Bytes)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_get_empty
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_get_empty
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(cluster_id: nil)
|
16
|
+
self[:cluster_id] = Bytes.from_s(cluster_id.to_s) if cluster_id
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{cluster_id: self[:cluster_id].to_s(free)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
self[:cluster_id].free!
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicGetOk < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:delivery_tag, :uint64,
|
7
|
+
:redelivered, Boolean,
|
8
|
+
:exchange, Bytes,
|
9
|
+
:routing_key, Bytes,
|
10
|
+
:message_count, :uint32
|
11
|
+
)
|
12
|
+
|
13
|
+
def self.id
|
14
|
+
:basic_get_ok
|
15
|
+
end
|
16
|
+
|
17
|
+
def id
|
18
|
+
:basic_get_ok
|
19
|
+
end
|
20
|
+
|
21
|
+
def apply(delivery_tag: nil, redelivered: nil, exchange: nil, routing_key: nil, message_count: nil)
|
22
|
+
self[:delivery_tag] = Integer(delivery_tag) if delivery_tag
|
23
|
+
self[:redelivered] = redelivered unless redelivered.nil?
|
24
|
+
self[:exchange] = Bytes.from_s(exchange.to_s) if exchange
|
25
|
+
self[:routing_key] = Bytes.from_s(routing_key.to_s) if routing_key
|
26
|
+
self[:message_count] = Integer(message_count) if message_count
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_h(free=false)
|
31
|
+
{
|
32
|
+
delivery_tag: self[:delivery_tag],
|
33
|
+
redelivered: self[:redelivered],
|
34
|
+
exchange: self[:exchange].to_s(free),
|
35
|
+
routing_key: self[:routing_key].to_s(free),
|
36
|
+
message_count: self[:message_count]
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def free!
|
41
|
+
self[:exchange].free!
|
42
|
+
self[:routing_key].free!
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicNack < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:delivery_tag, :uint64,
|
7
|
+
:multiple, Boolean,
|
8
|
+
:requeue, Boolean
|
9
|
+
)
|
10
|
+
|
11
|
+
def self.id
|
12
|
+
:basic_nack
|
13
|
+
end
|
14
|
+
|
15
|
+
def id
|
16
|
+
:basic_nack
|
17
|
+
end
|
18
|
+
|
19
|
+
def apply(delivery_tag: nil, multiple: nil, requeue: nil)
|
20
|
+
self[:delivery_tag] = Integer(delivery_tag) if delivery_tag
|
21
|
+
self[:multiple] = multiple unless multiple.nil?
|
22
|
+
self[:requeue] = requeue unless requeue.nil?
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_h(free=false)
|
27
|
+
{
|
28
|
+
delivery_tag: self[:delivery_tag],
|
29
|
+
multiple: self[:multiple],
|
30
|
+
requeue: self[:requeue]
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def free!
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicPublish < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:ticket, :uint16,
|
7
|
+
:exchange, Bytes,
|
8
|
+
:routing_key, Bytes,
|
9
|
+
:mandatory, Boolean,
|
10
|
+
:immediate, Boolean
|
11
|
+
)
|
12
|
+
|
13
|
+
def self.id
|
14
|
+
:basic_publish
|
15
|
+
end
|
16
|
+
|
17
|
+
def id
|
18
|
+
:basic_publish
|
19
|
+
end
|
20
|
+
|
21
|
+
def apply(ticket: nil, exchange: nil, routing_key: nil, mandatory: nil, immediate: nil)
|
22
|
+
self[:ticket] = Integer(ticket) if ticket
|
23
|
+
self[:exchange] = Bytes.from_s(exchange.to_s) if exchange
|
24
|
+
self[:routing_key] = Bytes.from_s(routing_key.to_s) if routing_key
|
25
|
+
self[:mandatory] = mandatory unless mandatory.nil?
|
26
|
+
self[:immediate] = immediate unless immediate.nil?
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_h(free=false)
|
31
|
+
{
|
32
|
+
ticket: self[:ticket],
|
33
|
+
exchange: self[:exchange].to_s(free),
|
34
|
+
routing_key: self[:routing_key].to_s(free),
|
35
|
+
mandatory: self[:mandatory],
|
36
|
+
immediate: self[:immediate]
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def free!
|
41
|
+
self[:exchange].free!
|
42
|
+
self[:routing_key].free!
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicQos < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:prefetch_size, :uint32,
|
7
|
+
:prefetch_count, :uint16,
|
8
|
+
:global, Boolean
|
9
|
+
)
|
10
|
+
|
11
|
+
def self.id
|
12
|
+
:basic_qos
|
13
|
+
end
|
14
|
+
|
15
|
+
def id
|
16
|
+
:basic_qos
|
17
|
+
end
|
18
|
+
|
19
|
+
def apply(prefetch_size: nil, prefetch_count: nil, global: nil)
|
20
|
+
self[:prefetch_size] = Integer(prefetch_size) if prefetch_size
|
21
|
+
self[:prefetch_count] = Integer(prefetch_count) if prefetch_count
|
22
|
+
self[:global] = global unless global.nil?
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_h(free=false)
|
27
|
+
{
|
28
|
+
prefetch_size: self[:prefetch_size],
|
29
|
+
prefetch_count: self[:prefetch_count],
|
30
|
+
global: self[:global]
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def free!
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicQosOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_qos_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_qos_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,29 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicRecover < ::FFI::Struct
|
5
|
+
layout(:requeue, Boolean)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_recover
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_recover
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(requeue: nil)
|
16
|
+
self[:requeue] = requeue unless requeue.nil?
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{requeue: self[:requeue]}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicRecoverAsync < ::FFI::Struct
|
5
|
+
layout(:requeue, Boolean)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_recover_async
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_recover_async
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(requeue: nil)
|
16
|
+
self[:requeue] = requeue unless requeue.nil?
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{requeue: self[:requeue]}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicRecoverOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:basic_recover_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:basic_recover_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
|