em-zmq-tp10 0.1.10 → 0.1.11

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.
@@ -7,16 +7,16 @@ module EventMachine
7
7
  # to react when message could not be send
8
8
  #
9
9
  # @example
10
- # class MyDealer < EM::Protocols::Zmq2::PreDealer
11
- # def receive_message(message)
12
- # puts "Message received: #{message.inspect}"
10
+ # class MyDealer < EM::Protocols::Zmq2::PreDealer
11
+ # def receive_message(message)
12
+ # puts "Message received: #{message.inspect}"
13
+ # end
14
+ # end
15
+ # dealer = MyDealer.new
16
+ # dealer.connect('tcp://127.0.0.1:8000')
17
+ # if !dealer.send_message(['asdf','fdas'])
18
+ # puts "Could not send message (no free peers)"
13
19
  # end
14
- # end
15
- # dealer = MyDealer.new
16
- # dealer.connect('tcp://127.0.0.1:8000')
17
- # if !dealer.send_message(['asdf','fdas'])
18
- # puts "Could not send message (no free peers)"
19
- # end
20
20
  class PreDealer < Socket
21
21
  # @private
22
22
  def choose_peer(even_if_busy = false)
@@ -59,16 +59,16 @@ module EventMachine
59
59
  # The only visible change from PreDealer is less frequent +send_message+ false return.
60
60
  #
61
61
  # @example
62
- # class MyDealer < EM::Protocols::Zmq2::Dealer
63
- # def receive_message(message)
64
- # puts "Message received: #{message.inspect}"
62
+ # class MyDealer < EM::Protocols::Zmq2::Dealer
63
+ # def receive_message(message)
64
+ # puts "Message received: #{message.inspect}"
65
+ # end
66
+ # end
67
+ # dealer = MyDealer.new
68
+ # dealer.connect('tcp://127.0.0.1:8000')
69
+ # if !dealer.send_message(['asdf','fdas'])
70
+ # puts "No free peers and outgoing queue is full"
65
71
  # end
66
- # end
67
- # dealer = MyDealer.new
68
- # dealer.connect('tcp://127.0.0.1:8000')
69
- # if !dealer.send_message(['asdf','fdas'])
70
- # puts "No free peers and outgoing queue is full"
71
- # end
72
72
  class Dealer < PreDealer
73
73
  # :stopdoc:
74
74
  def initialize(opts = {})
@@ -109,14 +109,14 @@ module EventMachine
109
109
  # on every incoming message (instead of #receive_message)
110
110
  #
111
111
  # @example
112
- # dealer = EM::Protocols::Zmq2::DealerCb.new do |message|
113
- # puts "Receive message #{message.inspect}"
114
- # end
115
- # dealer.connect('ipc://rep')
116
- # dealer.send_message(['hello','world'])
112
+ # dealer = EM::Protocols::Zmq2::DealerCb.new do |message|
113
+ # puts "Receive message #{message.inspect}"
114
+ # end
115
+ # dealer.connect('ipc://rep')
116
+ # dealer.send_message(['hello','world'])
117
117
  class DealerCb < Dealer
118
118
  # Accepts callback as second parameter or block
119
- # :callsec:
119
+ # :call-seq:
120
120
  # new(opts) do |message| end
121
121
  # new(opts, proc{|message| })
122
122
  def initialize(opts = {}, cb = nil, &block)
@@ -13,7 +13,7 @@ module EventMachine
13
13
  # @example
14
14
  # class MyReq < EM::Protocols::Zmq2::PreReq
15
15
  # def receive_reply(message, data, request_id)
16
- # puts "received message #{message} and stored data #{data}
16
+ # puts "received message #{message} and stored data #{data}"
17
17
  # end
18
18
  # end
19
19
  #
@@ -233,7 +233,7 @@ module EventMachine
233
233
  when :drop_first
234
234
  hwm = @hwm - (request ? 1 : 0)
235
235
  while @requests.size > hwm
236
- k, message = @requests.shift
236
+ _, message = @requests.shift
237
237
  cancel_message(message)
238
238
  end
239
239
  @requests[request.first] = request.dup if request
@@ -307,9 +307,9 @@ module EventMachine
307
307
  wrapped = Wrapped.new(data, deferrable)
308
308
  callback ||= block
309
309
  if Proc === callback
310
- deferrable.callback &callback
310
+ deferrable.callback(&callback)
311
311
  else
312
- deferrable.callback{|reply, data| callback.call(reply, data)}
312
+ deferrable.callback{|reply, _data| callback.call(reply, _data)}
313
313
  end
314
314
  if request_id = super(message, wrapped)
315
315
  deferrable.errback{ cancel_request(request_id) }
@@ -124,9 +124,13 @@ module EM
124
124
  @connections.clear
125
125
  @conn_addresses.clear
126
126
  @reconnect_timers.each{|_, timer| EM.cancel_timer(timer)}
127
- @after_writting = cb || block
128
- flush_all_queue if @after_writting
129
- @peers.values.each{|c| c.close_connection(!!@after_writting)}
127
+ unless @peers.empty?
128
+ @after_writting = cb || block
129
+ flush_all_queue if @after_writting
130
+ @peers.values.each{|c| c.close_connection(!!@after_writting)}
131
+ else
132
+ EM.next_tick @after_writting
133
+ end
130
134
  @bindings.each{|c|
131
135
  unless String === c
132
136
  EM.stop_server c
@@ -1,7 +1,7 @@
1
1
  module EventMachine
2
2
  module Protocols
3
3
  module Zmq2
4
- VERSION = '0.1.10'
4
+ VERSION = '0.1.11'
5
5
  end
6
6
  end
7
7
  end
data/tests/test_inproc.rb CHANGED
@@ -29,7 +29,7 @@ describe 'InProc' do
29
29
  2.times.map{|i| IPDealer.new(identity: "sink.#{i}") }
30
30
  end
31
31
 
32
- def run_test
32
+ def run_this_test
33
33
  EM.run {
34
34
  connected.callback do
35
35
  fan.peers['sink.0'].wont_be_nil
@@ -53,7 +53,7 @@ describe 'InProc' do
53
53
  it "should send messages to several connected socket" do
54
54
  sinks.each{|sink| sink.connect 'inproc://fan'}
55
55
  fan.bind 'inproc://fan'
56
- run_test
56
+ run_this_test
57
57
  end
58
58
 
59
59
  it "should send messages to several binded sockets" do
@@ -62,7 +62,7 @@ describe 'InProc' do
62
62
  sink.bind bind_point
63
63
  fan.connect bind_point
64
64
  }
65
- run_test
65
+ run_this_test
66
66
  end
67
67
 
68
68
  it "should send messages to inproc and tcp" do
@@ -70,7 +70,7 @@ describe 'InProc' do
70
70
  fan.connect 'tcp://127.0.0.1:9876'
71
71
  sinks[1].bind 'inproc://sink.1'
72
72
  fan.connect 'inproc://sink.1'
73
- run_test
73
+ run_this_test
74
74
  end
75
75
 
76
76
  if RUBY_PLATFORM !~ /window/
@@ -79,7 +79,7 @@ describe 'InProc' do
79
79
  fan.connect 'ipc://falcon'
80
80
  sinks[1].bind 'inproc://sink.1'
81
81
  fan.connect 'inproc://sink.1'
82
- run_test
82
+ run_this_test
83
83
  end
84
84
  end
85
85
 
metadata CHANGED
@@ -1,25 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-zmq-tp10
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
5
4
  prerelease:
5
+ version: 0.1.11
6
6
  platform: ruby
7
7
  authors:
8
8
  - Sokolov Yura 'funny-falcon'
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-02 00:00:00.000000000 Z
12
+ date: 2012-09-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: eventmachine
15
+ type: :runtime
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
- type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  none: false
@@ -27,15 +26,15 @@ dependencies:
27
26
  - - ! '>='
28
27
  - !ruby/object:Gem::Version
29
28
  version: '0'
29
+ name: eventmachine
30
30
  - !ruby/object:Gem::Dependency
31
- name: ffi-rzmq
31
+ type: :development
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
- type: :development
39
38
  prerelease: false
40
39
  version_requirements: !ruby/object:Gem::Requirement
41
40
  none: false
@@ -43,6 +42,7 @@ dependencies:
43
42
  - - ! '>='
44
43
  - !ruby/object:Gem::Version
45
44
  version: '0'
45
+ name: ffi-rzmq
46
46
  description: Implementation of ZMQ2.x transport protocol - ZMTP1.0
47
47
  email:
48
48
  - funny.falcon@gmail.com
@@ -106,3 +106,4 @@ summary: Implementation of ZMQ2.1 transport protocol and main socket types using
106
106
  for managing TCP/UNIX connections, doing nonblocking writes and calling callback
107
107
  on incoming messages.
108
108
  test_files: []
109
+ has_rdoc: