pigato 0.2.12 → 0.2.13

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: 0b57e3dd6034adbb1b671c2c4a6bfd625efd1f35
4
- data.tar.gz: d6278ff630b96fffed753a6dd99c26bfbc6039cf
3
+ metadata.gz: a86be31e60a1468d9ec1e122711187f1d5444ccd
4
+ data.tar.gz: 98770e64b922bb6545d263d9e9dfec643fd6c642
5
5
  SHA512:
6
- metadata.gz: 75f1d936dad3343e9409b7bf9e7e8f369d43c05bfa9fa81d4691985e44bb91823ba4df8892284cf14437d4f122b2c1633f79d1ae1187928aa28abb6e8c00a6ad
7
- data.tar.gz: ac952910fc9ca3d96b7ac4e348f3bab3c9fa770ae140b1ab6a541ac2d47d620f1ab9f0a677f4a63847e45825ea5811f7ed7eb0a38991aff83f72cca08b11a2ce
6
+ metadata.gz: 650b7d9c9676aa6965a7f399e4a16e6730a3028eff886697a07b0f35d3c6e64487a7d1f25ad235e29b67b7e5cc6cbd67a320f4eac8f3480f8071944827f00732
7
+ data.tar.gz: 510d38ededa32c5aaa5302f41e0c62087c09cf02da93f170aca689217010a60a504b2c1ca9188fbd879d8202ee8ba5163a4de018cbc8c5724b187c92e8ee0396
@@ -5,8 +5,11 @@ require "#{File.dirname(__FILE__)}/../lib/pigato.rb"
5
5
  #require "pigato"
6
6
  require 'thread'
7
7
 
8
- client = Pigato::Client.new('tcp://localhost:55555', { :autostart => true })
8
+ client = Pigato::Client.new('tcp://localhost:55555')
9
+
9
10
  c1 = Thread.new {
11
+ client.stop
12
+ client.start
10
13
  requests = 1000
11
14
  d1 = Time.now
12
15
  requests.times do |i|
@@ -18,4 +21,20 @@ c1 = Thread.new {
18
21
  puts "#{requests} requests/replies processed (#{(d2 - d1) * 1000} milliseconds)"
19
22
  }
20
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
+ }
37
+
38
+
21
39
  c1.join
40
+ c2.join
data/lib/pigato/client.rb CHANGED
@@ -22,11 +22,13 @@ class Pigato::Client
22
22
  end
23
23
  end
24
24
 
25
+ def getid
26
+ tid = "#" + Process.pid.to_s + "|" + Thread.current.object_id.to_s
27
+ tid
28
+ end
25
29
 
26
30
  def request service, request, opts = {}
27
- start if @sockets[Thread.current.object_id] == nil
28
- socket = @sockets[Thread.current.object_id]
29
-
31
+ socket = @sockets[getid()]
30
32
  return nil if socket == nil;
31
33
 
32
34
  request = [Oj.dump(request), Oj.dump(opts)]
@@ -51,7 +53,7 @@ class Pigato::Client
51
53
  end
52
54
 
53
55
  def _recv rid
54
- socket = @sockets[Thread.current.object_id]
56
+ socket = @sockets[getid()]
55
57
  socket.rcvtimeo = @conf[:timeout]
56
58
  data = []
57
59
  d1 = Time.now
@@ -73,10 +75,11 @@ class Pigato::Client
73
75
  end
74
76
 
75
77
  def stop
76
- socket = @sockets[Thread.current.object_id]
78
+ tid = getid()
79
+ socket = @sockets[tid]
77
80
  if socket
78
81
  socket.close
79
- @sockets.delete(Thread.current.object_id)
82
+ @sockets.delete(tid)
80
83
  end
81
84
  end
82
85
 
@@ -85,6 +88,6 @@ class Pigato::Client
85
88
  socket = @ctx.socket ZMQ::DEALER
86
89
  socket.identity = SecureRandom.uuid
87
90
  socket.connect @broker
88
- @sockets[Thread.current.object_id] = socket
91
+ @sockets[getid()] = socket
89
92
  end
90
93
  end
@@ -1,3 +1,3 @@
1
1
  module Pigato
2
- VERSION = "0.2.12"
2
+ VERSION = "0.2.13"
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.12
4
+ version: 0.2.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paolo Ardoino