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,36 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicReject < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:delivery_tag, :uint64,
|
7
|
+
:requeue, Boolean
|
8
|
+
)
|
9
|
+
|
10
|
+
def self.id
|
11
|
+
:basic_reject
|
12
|
+
end
|
13
|
+
|
14
|
+
def id
|
15
|
+
:basic_reject
|
16
|
+
end
|
17
|
+
|
18
|
+
def apply(delivery_tag: nil, requeue: nil)
|
19
|
+
self[:delivery_tag] = Integer(delivery_tag) if delivery_tag
|
20
|
+
self[:requeue] = requeue unless requeue.nil?
|
21
|
+
self
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_h(free=false)
|
25
|
+
{
|
26
|
+
delivery_tag: self[:delivery_tag],
|
27
|
+
requeue: self[:requeue]
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def free!
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class BasicReturn < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:reply_code, :uint16,
|
7
|
+
:reply_text, Bytes,
|
8
|
+
:exchange, Bytes,
|
9
|
+
:routing_key, Bytes
|
10
|
+
)
|
11
|
+
|
12
|
+
def self.id
|
13
|
+
:basic_return
|
14
|
+
end
|
15
|
+
|
16
|
+
def id
|
17
|
+
:basic_return
|
18
|
+
end
|
19
|
+
|
20
|
+
def apply(reply_code: nil, reply_text: nil, exchange: nil, routing_key: nil)
|
21
|
+
self[:reply_code] = Integer(reply_code) if reply_code
|
22
|
+
self[:reply_text] = Bytes.from_s(reply_text.to_s) if reply_text
|
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
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_h(free=false)
|
29
|
+
{
|
30
|
+
reply_code: self[:reply_code],
|
31
|
+
reply_text: self[:reply_text].to_s(free),
|
32
|
+
exchange: self[:exchange].to_s(free),
|
33
|
+
routing_key: self[:routing_key].to_s(free)
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
def free!
|
38
|
+
self[:reply_text].free!
|
39
|
+
self[:exchange].free!
|
40
|
+
self[:routing_key].free!
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ChannelClose < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:reply_code, :uint16,
|
7
|
+
:reply_text, Bytes,
|
8
|
+
:class_id, :uint16,
|
9
|
+
:method_id, :uint16
|
10
|
+
)
|
11
|
+
|
12
|
+
def self.id
|
13
|
+
:channel_close
|
14
|
+
end
|
15
|
+
|
16
|
+
def id
|
17
|
+
:channel_close
|
18
|
+
end
|
19
|
+
|
20
|
+
def apply(reply_code: nil, reply_text: nil, method: nil)
|
21
|
+
if method
|
22
|
+
method_id = FFI::MethodNumber[method.to_sym]
|
23
|
+
self[:class_id] = method_id >> 16
|
24
|
+
self[:method_id] = method_id & 0xFFFF
|
25
|
+
end
|
26
|
+
self[:reply_code] = Integer(reply_code) if reply_code
|
27
|
+
self[:reply_text] = Bytes.from_s(reply_text.to_s) if reply_text
|
28
|
+
self
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_h(free=false)
|
32
|
+
{
|
33
|
+
reply_code: self[:reply_code],
|
34
|
+
reply_text: self[:reply_text].to_s(free),
|
35
|
+
method: FFI::MethodNumber[self[:method_id] + (self[:class_id] << 16)]
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
def free!
|
40
|
+
self[:reply_text].free!
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ChannelCloseOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:channel_close_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:channel_close_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 ChannelFlow < ::FFI::Struct
|
5
|
+
layout(:active, Boolean)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:channel_flow
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:channel_flow
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(active: nil)
|
16
|
+
self[:active] = active unless active.nil?
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{active: self[:active]}
|
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 ChannelFlowOk < ::FFI::Struct
|
5
|
+
layout(:active, Boolean)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:channel_flow_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:channel_flow_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(active: nil)
|
16
|
+
self[:active] = active unless active.nil?
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{active: self[:active]}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ChannelOpen < ::FFI::Struct
|
5
|
+
layout(:out_of_band, Bytes)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:channel_open
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:channel_open
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(out_of_band: nil)
|
16
|
+
self[:out_of_band] = Bytes.from_s(out_of_band.to_s) if out_of_band
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{out_of_band: self[:out_of_band].to_s(free)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
self[:out_of_band].free!
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ChannelOpenOk < ::FFI::Struct
|
5
|
+
layout(:channel_id, Bytes)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:channel_open_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:channel_open_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(channel_id: nil)
|
16
|
+
self[:channel_id] = Bytes.from_s(channel_id.to_s) if channel_id
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{channel_id: self[:channel_id].to_s(free)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
self[:channel_id].free!
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ConfirmSelect < ::FFI::Struct
|
5
|
+
layout(:nowait, Boolean)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:confirm_select
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:confirm_select
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(nowait: nil)
|
16
|
+
self[:nowait] = nowait unless nowait.nil?
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{nowait: self[:nowait]}
|
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 ConfirmSelectOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:confirm_select_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:confirm_select_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,30 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ConnectionBlocked < ::FFI::Struct
|
5
|
+
layout(:reason, Bytes)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:connection_blocked
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:connection_blocked
|
13
|
+
end
|
14
|
+
|
15
|
+
def apply(reason: nil)
|
16
|
+
self[:reason] = Bytes.from_s(reason.to_s) if reason
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_h(free=false)
|
21
|
+
{reason: self[:reason].to_s(free)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def free!
|
25
|
+
self[:reason].free!
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ConnectionClose < ::FFI::Struct
|
5
|
+
layout(
|
6
|
+
:reply_code, :uint16,
|
7
|
+
:reply_text, Bytes,
|
8
|
+
:class_id, :uint16,
|
9
|
+
:method_id, :uint16
|
10
|
+
)
|
11
|
+
|
12
|
+
def self.id
|
13
|
+
:connection_close
|
14
|
+
end
|
15
|
+
|
16
|
+
def id
|
17
|
+
:connection_close
|
18
|
+
end
|
19
|
+
|
20
|
+
def apply(reply_code: nil, reply_text: nil, method: nil)
|
21
|
+
if method
|
22
|
+
method_id = FFI::MethodNumber[method.to_sym]
|
23
|
+
self[:class_id] = method_id >> 16
|
24
|
+
self[:method_id] = method_id & 0xFFFF
|
25
|
+
end
|
26
|
+
self[:reply_code] = Integer(reply_code) if reply_code
|
27
|
+
self[:reply_text] = Bytes.from_s(reply_text.to_s) if reply_text
|
28
|
+
self
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_h(free=false)
|
32
|
+
{
|
33
|
+
reply_code: self[:reply_code],
|
34
|
+
reply_text: self[:reply_text].to_s(free),
|
35
|
+
method: FFI::MethodNumber[self[:method_id] + (self[:class_id] << 16)]
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
def free!
|
40
|
+
self[:reply_text].free!
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
module RabbitMQ
|
3
|
+
module FFI
|
4
|
+
class ConnectionCloseOk < ::FFI::Struct
|
5
|
+
layout(:dummy, :char)
|
6
|
+
|
7
|
+
def self.id
|
8
|
+
:connection_close_ok
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
:connection_close_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
|