pigato 0.2.13 → 0.2.14

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a86be31e60a1468d9ec1e122711187f1d5444ccd
4
- data.tar.gz: 98770e64b922bb6545d263d9e9dfec643fd6c642
3
+ metadata.gz: d98e3d33779bd55e21b6dd1ad0311e059ea142bf
4
+ data.tar.gz: f520a52c6ae420c5d59dbd60ff0761174bf56d5f
5
5
  SHA512:
6
- metadata.gz: 650b7d9c9676aa6965a7f399e4a16e6730a3028eff886697a07b0f35d3c6e64487a7d1f25ad235e29b67b7e5cc6cbd67a320f4eac8f3480f8071944827f00732
7
- data.tar.gz: 510d38ededa32c5aaa5302f41e0c62087c09cf02da93f170aca689217010a60a504b2c1ca9188fbd879d8202ee8ba5163a4de018cbc8c5724b187c92e8ee0396
6
+ metadata.gz: 31a112e4750fffd77b813e4787f01d0b4c4cc2ac8495cab8d9b944aa31323c7fc44daf2493178ded13d7348117a0c5b06cb519474d4f99fb7d506c244a483256
7
+ data.tar.gz: 90b78f68f1335be0a1356254f9b5c4abf29735923989ed4b71587b444290ee47e317a0a4c4cbccc379ae2d283c7dbd9ba9470c00a007fa7af997f2bb096557d2
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ require 'pry-remote'
2
3
 
3
4
  require "rubygems"
4
5
  require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
@@ -7,34 +8,17 @@ require 'thread'
7
8
 
8
9
  client = Pigato::Client.new('tcp://localhost:55555')
9
10
 
10
- c1 = Thread.new {
11
- client.stop
12
- client.start
13
- requests = 1000
14
- d1 = Time.now
15
- requests.times do |i|
16
- begin
17
- client.request('echo', 'Hello world')
18
- end
19
- end
20
- d2 = Time.now
21
- puts "#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
22
- }
23
-
24
- c2 = Thread.new {
25
- client.stop
26
- client.start
27
- requests = 1000
28
- d1 = Time.now
29
- requests.times do |i|
30
- begin
31
- client.request('echo', 'Hello world')
32
- end
33
- end
34
- d2 = Time.now
35
- puts "#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
36
- }
11
+ #Process.daemon
37
12
 
13
+ #binding.remote_pry
38
14
 
39
- c1.join
40
- c2.join
15
+ client.start
16
+ requests = 1000
17
+ d1 = Time.now
18
+ requests.times do |i|
19
+ begin
20
+ client.request('echo', 'Hello world1')
21
+ end
22
+ end
23
+ d2 = Time.now
24
+ puts "#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
data/lib/pigato/client.rb CHANGED
@@ -3,12 +3,8 @@ require 'thread'
3
3
  class Pigato::Client
4
4
 
5
5
  def initialize broker, conf = {}
6
- @mtx = Mutex.new
7
6
  @broker = broker
8
- @ctx = ZMQ::Context.new
9
- @ctx.linger = 0
10
-
11
- @sockets = {}
7
+ @ctxs = {}
12
8
 
13
9
  @conf = {
14
10
  :autostart => false,
@@ -28,9 +24,10 @@ class Pigato::Client
28
24
  end
29
25
 
30
26
  def request service, request, opts = {}
31
- socket = @sockets[getid()]
32
- return nil if socket == nil;
33
-
27
+ return nil if @ctxs[getid()] == nil
28
+
29
+ socket = @ctxs[getid()]['socket']
30
+
34
31
  request = [Oj.dump(request), Oj.dump(opts)]
35
32
 
36
33
  rid = SecureRandom.uuid
@@ -53,7 +50,7 @@ class Pigato::Client
53
50
  end
54
51
 
55
52
  def _recv rid
56
- socket = @sockets[getid()]
53
+ socket = @ctxs[getid()]['socket']
57
54
  socket.rcvtimeo = @conf[:timeout]
58
55
  data = []
59
56
  d1 = Time.now
@@ -76,18 +73,20 @@ class Pigato::Client
76
73
 
77
74
  def stop
78
75
  tid = getid()
79
- socket = @sockets[tid]
80
- if socket
81
- socket.close
82
- @sockets.delete(tid)
76
+ if @ctxs[tid]
77
+ @ctxs[tid]['socket'].close
78
+ @ctxs[tid]['ctx'].destroy
79
+ @ctxs.delete(tid)
83
80
  end
84
81
  end
85
82
 
86
83
  def reconnect_to_broker
87
84
  stop
88
- socket = @ctx.socket ZMQ::DEALER
85
+ ctx = ZMQ::Context.new
86
+ ctx.linger = 0
87
+ socket = ctx.socket ZMQ::DEALER
89
88
  socket.identity = SecureRandom.uuid
90
89
  socket.connect @broker
91
- @sockets[getid()] = socket
90
+ @ctxs[getid()] = { 'socket' => socket, 'ctx' => ctx }
92
91
  end
93
92
  end
@@ -1,3 +1,3 @@
1
1
  module Pigato
2
- VERSION = "0.2.13"
2
+ VERSION = "0.2.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pigato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Ardoino