ffi-czmq 0.0.2.pre → 0.0.3.pre

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.
Files changed (4) hide show
  1. data/lib/czmq/libczmq.rb +24 -20
  2. data/lib/czmq/version.rb +1 -1
  3. metadata +31 -25
  4. checksums.yaml +0 -7
data/lib/czmq/libczmq.rb CHANGED
@@ -5,7 +5,7 @@ require_relative 'sock_type'
5
5
  module LibCZMQ
6
6
  def self.extended(klass)
7
7
  klass.extend FFI::Library
8
- klass.ffi_lib('czmq', 'libzmq')
8
+ klass.ffi_lib('libzmq', 'czmq')
9
9
  end
10
10
 
11
11
  def czmq_class
@@ -28,7 +28,9 @@ module LibCZMQ
28
28
 
29
29
  instance.instance_variable_set(:@czmq_obj, czmq_obj)
30
30
  instance.instance_variable_set(:@owned_by_ruby, owned_by_ruby)
31
- instance.send :setup_finalizer
31
+ if owned_by_ruby
32
+ instance.send :setup_finalizer
33
+ end
32
34
 
33
35
  if instance.method(:initialize).parameters.size > 0
34
36
  instance.send :initialize, czmq_obj
@@ -56,8 +58,8 @@ module LibCZMQ
56
58
 
57
59
  instance.instance_variable_set(:@czmq_obj, czmq_obj)
58
60
  instance.instance_variable_set(:@owned_by_ruby, true)
59
-
60
61
  instance.send :setup_finalizer
62
+
61
63
  if instance.method(:initialize).parameters.size > 0
62
64
  instance.send :initialize, *args
63
65
  else
@@ -89,15 +91,12 @@ module LibCZMQ
89
91
  remove_finalizer
90
92
 
91
93
  if @owned_by_ruby
92
- if CZMQ::Utils.check_for_pointer(@czmq_obj)
93
- FFI::MemoryPointer.new(:pointer) do |p|
94
- p.write_pointer(@czmq_obj)
95
- if #{czmq_class == :zsock}
96
- self.class.destructor(p, __FILE__, __LINE__)
97
- else
98
- self.class.destructor(p)
99
- end
100
- end
94
+ p = FFI::MemoryPointer.new(:pointer)
95
+ p.write_pointer(@czmq_obj)
96
+ if #{czmq_class == :zsock}
97
+ self.class.destructor(p, __FILE__, __LINE__)
98
+ else
99
+ self.class.destructor(p)
101
100
  end
102
101
  end
103
102
 
@@ -108,22 +107,25 @@ module LibCZMQ
108
107
  true
109
108
  end
110
109
 
111
- private
112
-
113
110
  def setup_finalizer
114
- if @owned_by_ruby
115
- at_exit { destructor }
116
- end
117
- ObjectSpace.define_finalizer(self, self.class.close_instance(self))
111
+ ObjectSpace.define_finalizer(self, self.class.close_instance(@czmq_obj.address))
118
112
  end
119
113
 
114
+ private
115
+
120
116
  def remove_finalizer
121
117
  ObjectSpace.undefine_finalizer self
122
118
  end
123
119
 
124
- def self.close_instance(selfie)
120
+ def self.close_instance(czmq_obj)
125
121
  Proc.new do
126
- selfie.destructor
122
+ p = FFI::MemoryPointer.new(:pointer)
123
+ p.write_pointer(czmq_obj)
124
+ if #{czmq_class == :zsock}
125
+ destructor(p, __FILE__, __LINE__)
126
+ else
127
+ destructor(p)
128
+ end
127
129
  end
128
130
  end
129
131
  RUBY
@@ -149,6 +151,7 @@ module LibCZMQ
149
151
 
150
152
  unless(#{czmq_class == :zframe} && args.last & CZMQ::Zframe::REUSE > 0)
151
153
  z_obj.instance_variable_set(:@owned_by_ruby, nil)
154
+ z_obj.destructor
152
155
  end
153
156
  when :insert, :append, :prepend
154
157
  if args.first.instance_variable_get(:@owned_by_ruby)
@@ -162,6 +165,7 @@ module LibCZMQ
162
165
  result = self.class.#{name}(@czmq_obj, czmq_obj)
163
166
 
164
167
  z_obj.instance_variable_set(:@owned_by_ruby, nil)
168
+ z_obj.destructor
165
169
  when :reload
166
170
  czmq_obj = FFI::MemoryPointer.new(:pointer)
167
171
  czmq_obj.write_pointer(@czmq_obj)
data/lib/czmq/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CZMQ
2
- VERSION = '0.0.2.pre'
2
+ VERSION = '0.0.3.pre'
3
3
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-czmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.pre
4
+ version: 0.0.3.pre
5
+ prerelease: 6
5
6
  platform: ruby
6
7
  authors:
7
8
  - Hendrik
@@ -9,34 +10,38 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2014-09-25 00:00:00.000000000 Z
13
+ date: 2014-09-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: ffi
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
- - - ">="
20
+ - - ! '>='
19
21
  - !ruby/object:Gem::Version
20
- version: 1.0.11
22
+ version: 1.9.4
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
- - - ">="
28
+ - - ! '>='
26
29
  - !ruby/object:Gem::Version
27
- version: 1.0.11
30
+ version: 1.9.4
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: bundler
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
- - - ">="
36
+ - - ! '>='
33
37
  - !ruby/object:Gem::Version
34
38
  version: 1.1.4
35
39
  type: :development
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
- - - ">="
44
+ - - ! '>='
40
45
  - !ruby/object:Gem::Version
41
46
  version: 1.1.4
42
47
  description: czmq ffi wrapper
@@ -45,47 +50,48 @@ executables: []
45
50
  extensions: []
46
51
  extra_rdoc_files: []
47
52
  files:
48
- - LICENSE
49
53
  - README.md
54
+ - LICENSE
55
+ - lib/ffi-czmq.rb
50
56
  - lib/czmq.rb
51
- - lib/czmq/libczmq.rb
52
- - lib/czmq/sock_type.rb
53
- - lib/czmq/utils.rb
54
- - lib/czmq/version.rb
55
- - lib/czmq/zactor.rb
57
+ - lib/czmq/zmsg.rb
58
+ - lib/czmq/ziflist.rb
56
59
  - lib/czmq/zcert.rb
60
+ - lib/czmq/zsock.rb
61
+ - lib/czmq/zactor.rb
62
+ - lib/czmq/zsys.rb
63
+ - lib/czmq/sock_type.rb
57
64
  - lib/czmq/zcertstore.rb
58
- - lib/czmq/zconfig.rb
65
+ - lib/czmq/version.rb
59
66
  - lib/czmq/zframe.rb
60
- - lib/czmq/ziflist.rb
61
67
  - lib/czmq/zloop.rb
62
- - lib/czmq/zmsg.rb
68
+ - lib/czmq/zconfig.rb
63
69
  - lib/czmq/zpoller.rb
64
- - lib/czmq/zsock.rb
65
- - lib/czmq/zsys.rb
66
- - lib/ffi-czmq.rb
70
+ - lib/czmq/libczmq.rb
71
+ - lib/czmq/utils.rb
67
72
  homepage: https://github.com/Asmod4n/ruby-ffi-czmq
68
73
  licenses:
69
74
  - Apache-2.0
70
- metadata: {}
71
75
  post_install_message:
72
76
  rdoc_options: []
73
77
  require_paths:
74
78
  - lib
75
79
  required_ruby_version: !ruby/object:Gem::Requirement
80
+ none: false
76
81
  requirements:
77
- - - ">="
82
+ - - ! '>='
78
83
  - !ruby/object:Gem::Version
79
84
  version: '0'
80
85
  required_rubygems_version: !ruby/object:Gem::Requirement
86
+ none: false
81
87
  requirements:
82
- - - ">"
88
+ - - ! '>'
83
89
  - !ruby/object:Gem::Version
84
90
  version: 1.3.1
85
91
  requirements: []
86
92
  rubyforge_project:
87
- rubygems_version: 2.4.1
93
+ rubygems_version: 1.8.23
88
94
  signing_key:
89
- specification_version: 4
95
+ specification_version: 3
90
96
  summary: czmq ffi wrapper
91
97
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 552c8d88ce927fad7ac3a633ca63ee747f783efc
4
- data.tar.gz: 5fa75ca3f5ebb2c7944a80cb5fcc963a4e4813cb
5
- SHA512:
6
- metadata.gz: 1e34228e7d123a5bd5935c60b90e6acecb6dfeedecc569fe6f0f9970d4f431cab8d8e504d13905f23e3038d40211b1cd9e6574d4f946adffe7a252c85f1cd62b
7
- data.tar.gz: 42e394a43c94781e9b25d2a139a341ed2cc450c629375b9d6e5cd00d8ce750567695618e47a60d78b4461aee6728fb75b813bd58cc7c973923a3e376961c5414