amq-client 0.7.0.alpha32 → 0.7.0.alpha33

Sign up to get free protection for your applications and to get access to all the features.
@@ -47,16 +47,31 @@ module AMQ
47
47
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.2.1)
48
48
  attr_accessor :client_properties
49
49
 
50
- # Server capabilities
50
+ # Server properties
51
51
  #
52
52
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
53
53
  attr_reader :server_properties
54
54
 
55
+ # Server capabilities
56
+ #
57
+ # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
58
+ attr_reader :server_capabilities
59
+
60
+ # Locales server supports
61
+ #
62
+ # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
63
+ attr_reader :server_locales
64
+
55
65
  # Authentication mechanism used.
56
66
  #
57
67
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.2)
58
68
  attr_reader :mechanism
59
69
 
70
+ # Authentication mechanisms broker supports.
71
+ #
72
+ # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.2)
73
+ attr_reader :server_authentication_mechanisms
74
+
60
75
  # Channels within this connection.
61
76
  #
62
77
  # @see http://bit.ly/hw2ELX AMQP 0.9.1 specification (Section 2.2.5)
@@ -386,7 +401,11 @@ module AMQ
386
401
  # @api plugin
387
402
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.)
388
403
  def handle_start(connection_start)
389
- @server_properties = connection_start.server_properties
404
+ @server_properties = connection_start.server_properties.dup.freeze
405
+ @server_capabilities = @server_properties["capabilities"].dup.freeze
406
+
407
+ @server_authentication_mechanisms = connection_start.mechanisms.split(" ").freeze
408
+ @server_locales = Array(connection_start.locales).freeze
390
409
 
391
410
  username = @settings[:user] || @settings[:username]
392
411
  password = @settings[:pass] || @settings[:password]
@@ -405,8 +424,8 @@ module AMQ
405
424
  # @api plugin
406
425
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.6)
407
426
  def handle_tune(tune_ok)
408
- @channel_max = tune_ok.channel_max
409
- @frame_max = tune_ok.frame_max
427
+ @channel_max = tune_ok.channel_max.freeze
428
+ @frame_max = tune_ok.frame_max.freeze
410
429
  @heartbeat_interval = self.heartbeat_interval || tune_ok.heartbeat
411
430
 
412
431
  self.send_frame(Protocol::Connection::TuneOk.encode(@channel_max, [settings[:frame_max], @frame_max].min, @heartbeat_interval))
@@ -418,7 +437,7 @@ module AMQ
418
437
  # @api plugin
419
438
  # @see http://bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.8.)
420
439
  def handle_open_ok(open_ok)
421
- @known_hosts = open_ok.known_hosts
440
+ @known_hosts = open_ok.known_hosts.dup.freeze
422
441
 
423
442
  opened!
424
443
  self.connection_successful if self.respond_to?(:connection_successful)
@@ -58,14 +58,7 @@ module AMQ
58
58
  # Be careful with default values for #ruby hashes: h = Hash.new(Array.new); h[:key] ||= 1
59
59
  # won't assign anything to :key. MK.
60
60
  @callbacks = Hash.new
61
- end
62
-
63
-
64
- def error(exception)
65
- callbacks = [@callbacks[:close]].flatten.compact
66
-
67
- callbacks.map { |c| c.call(exception) } if callbacks.any?
68
- end
69
- end
70
- end
71
- end
61
+ end # initialize
62
+ end # Entity
63
+ end # Client
64
+ end # AMQ
@@ -93,12 +93,10 @@ module AMQ
93
93
  end # delete(if_unused = false, nowait = false)
94
94
 
95
95
 
96
- def publish(payload, routing_key = AMQ::Protocol::EMPTY_STRING, user_headers = {}, mandatory = false, immediate = false, frame_size = nil, &block)
96
+ def publish(payload, routing_key = AMQ::Protocol::EMPTY_STRING, user_headers = {}, mandatory = false, immediate = false, frame_size = nil)
97
97
  headers = { :priority => 0, :delivery_mode => 2, :content_type => "application/octet-stream" }.merge(user_headers)
98
98
  @connection.send_frameset(Protocol::Basic::Publish.encode(@channel.id, payload, headers, @name, routing_key, mandatory, immediate, (frame_size || @connection.frame_max)))
99
99
 
100
- block.call if block
101
-
102
100
  self
103
101
  end
104
102
 
@@ -1,5 +1,5 @@
1
1
  module AMQ
2
2
  module Client
3
- VERSION = "0.7.0.alpha32"
3
+ VERSION = "0.7.0.alpha33"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amq-client
3
3
  version: !ruby/object:Gem::Version
4
- hash: -3702664340
4
+ hash: -3702664338
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
9
  - 0
10
10
  - alpha
11
- - 32
12
- version: 0.7.0.alpha32
11
+ - 33
12
+ version: 0.7.0.alpha33
13
13
  platform: ruby
14
14
  authors:
15
15
  - Jakub Stastny
@@ -20,7 +20,7 @@ autorequire:
20
20
  bindir: bin
21
21
  cert_chain: []
22
22
 
23
- date: 2011-05-31 00:00:00 Z
23
+ date: 2011-06-04 00:00:00 Z
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: eventmachine
@@ -256,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  requirements: []
257
257
 
258
258
  rubyforge_project: amq-client
259
- rubygems_version: 1.8.4
259
+ rubygems_version: 1.8.5
260
260
  signing_key:
261
261
  specification_version: 3
262
262
  summary: amq-client is a fully-featured, low-level AMQP 0.9.1 client