ffi-czmq 0.0.5.pre → 0.0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5f1304800ca80111e1b3696afa95c1316480a72
4
- data.tar.gz: 30abadbe31a45023e1b61747c006d84adb5cbb55
3
+ metadata.gz: b0a2d4a651052dfc13485e353eb0a0560ede0a38
4
+ data.tar.gz: 2a3955c052e89babd0b52c4023d509e30487b297
5
5
  SHA512:
6
- metadata.gz: d8cf0191d87405e83e61f6dcc4c74121fa7efe1fb19c6682850489f8a3646ac41191e760511c3b5051dad4660ef5cd427b7cb6be4448c2245a786e3ba54b7c36
7
- data.tar.gz: 6e854468d19cfdfa68269a73fb0400816fab221838519ca1d580c72fa0e8466cbec32184a3940e400241f1a259ce021b5ba6b1cd7e7a64c0301df32fed8c69e1
6
+ metadata.gz: 8a03c6fdda23870cdb6879cf9cfbc0d87dba32b24eb2fd93585f4796d26219084c5121e9684944f19e07f89abe0de66aef105f80fad79a8e542fcc6948bb9ad1
7
+ data.tar.gz: a35d283e17c89e7513498e95ef3f4615dc50135578d7c5cbab4710f1ebca9ea97416a006987d2f979bff03065678563c786de47964d1265ec5e8d9af6b28feef
data/lib/czmq/libczmq.rb CHANGED
@@ -110,19 +110,19 @@ module LibCZMQ
110
110
  end
111
111
 
112
112
  def setup_finalizer
113
- ObjectSpace.define_finalizer(self, self.class.close_instance(@czmq_obj))
113
+ ObjectSpace.define_finalizer(@czmq_obj, self.class.close_instance(@czmq_obj.address))
114
114
  end
115
115
 
116
116
  private
117
117
 
118
118
  def remove_finalizer
119
- ObjectSpace.undefine_finalizer self
119
+ ObjectSpace.undefine_finalizer @czmq_obj
120
120
  end
121
121
 
122
122
  def self.close_instance(czmq_obj)
123
123
  ->(obj_id) do
124
124
  p = FFI::MemoryPointer.new(:pointer)
125
- p.write_pointer(czmq_obj)
125
+ p.write_pointer(FFI::Pointer.new(czmq_obj))
126
126
  if #{czmq_class == :zsock}
127
127
  destructor(p, __FILE__, __LINE__)
128
128
  else
data/lib/czmq/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CZMQ
2
- VERSION = '0.0.5.pre'
2
+ VERSION = '0.0.6.pre'
3
3
  end
data/lib/czmq/zframe.rb CHANGED
@@ -11,20 +11,20 @@ module CZMQ
11
11
 
12
12
  extend ::LibCZMQ
13
13
 
14
- czmq_constructor [:pointer, :size_t]
14
+ czmq_constructor [:buffer_in, :size_t]
15
15
  czmq_destructor
16
16
 
17
- czmq_function :new_empty_zframe, :new_empty, [], :pointer
18
- czmq_function :recv_zframe, :recv, [:pointer], :pointer
19
- czmq_function :send_zframe, :send, [:pointer, :pointer, :int], :int
20
- czmq_function :size, :size, [:pointer], :size_t
21
- czmq_function :data, :data, [:pointer], :pointer
22
- czmq_function :dup_zframe, :dup, [:pointer], :pointer
23
- czmq_function :more, :more, [:pointer], :int
24
- czmq_function :set_more, :set_more, [:pointer, :int], :void
25
- czmq_function :eq, :eq, [:pointer, :pointer], :bool
26
- czmq_function :reset, :reset, [:pointer, :pointer, :size_t], :void
27
- czmq_function :print, :print, [:pointer, :string], :void
17
+ czmq_function :new_empty_zframe, :new_empty, [], :pointer
18
+ czmq_function :recv_zframe, :recv, [:pointer], :pointer
19
+ czmq_function :send_zframe, :send, [:pointer, :pointer, :int], :int
20
+ czmq_function :size, :size, [:pointer], :size_t
21
+ czmq_function :data, :data, [:pointer], :pointer
22
+ czmq_function :dup_zframe, :dup, [:pointer], :pointer
23
+ czmq_function :more, :more, [:pointer], :int
24
+ czmq_function :set_more, :set_more, [:pointer, :int], :void
25
+ czmq_function :eq, :eq, [:pointer, :pointer], :bool
26
+ czmq_function :reset, :reset, [:pointer, :buffer_in, :size_t], :void
27
+ czmq_function :print, :print, [:pointer, :string], :void
28
28
 
29
29
  def self.new_empty
30
30
  unless (zframe = new_empty_zframe).null?
data/lib/czmq/zmsg.rb CHANGED
@@ -12,27 +12,27 @@ module CZMQ
12
12
  czmq_constructor
13
13
  czmq_destructor
14
14
 
15
- czmq_function :recv_zmsg, :recv, [:pointer], :pointer
16
- czmq_function :send_zmsg, :send, [:pointer, :pointer], :int
17
- czmq_function :size, :size, [:pointer], :size_t
18
- czmq_function :content_size, :content_size, [:pointer], :size_t
19
- czmq_function :prepend_zframe, :prepend, [:pointer, :pointer], :int
20
- czmq_function :append_zframe, :append, [:pointer, :pointer], :int
21
- czmq_function :pop_zframe, :pop, [:pointer], :pointer
22
- czmq_function :push_mem, :pushmem, [:pointer, :pointer, :size_t], :int
23
- czmq_function :add_mem, :addmem, [:pointer, :pointer, :size_t], :int
24
- czmq_function :push_zstr, :pushstr, [:pointer, :string], :int
25
- czmq_function :add_zstr, :addstr, [:pointer, :string], :int
26
- czmq_function :push_zstrf, :pushstrf, [:pointer, :string, :varargs], :int
27
- czmq_function :add_zstrf, :addstrf, [:pointer, :string, :varargs], :int
28
- czmq_function :remove_zframe, :remove, [:pointer, :pointer], :void
29
- czmq_function :first_zframe, :first, [:pointer], :pointer
30
- czmq_function :next_zframe, :next, [:pointer], :pointer
31
- czmq_function :last_zframe, :last, [:pointer], :pointer
32
- czmq_function :encode_zmsg, :encode, [:pointer, :buffer_in], :size_t
33
- czmq_function :decode_zmsg, :decode, [:pointer, :size_t], :pointer
34
- czmq_function :dup_zmsg, :dup, [:pointer], :pointer
35
- czmq_function :print, :print, [:pointer], :void
15
+ czmq_function :recv_zmsg, :recv, [:pointer], :pointer
16
+ czmq_function :send_zmsg, :send, [:pointer, :pointer], :int
17
+ czmq_function :size, :size, [:pointer], :size_t
18
+ czmq_function :content_size, :content_size, [:pointer], :size_t
19
+ czmq_function :prepend_zframe, :prepend, [:pointer, :pointer], :int
20
+ czmq_function :append_zframe, :append, [:pointer, :pointer], :int
21
+ czmq_function :pop_zframe, :pop, [:pointer], :pointer
22
+ czmq_function :push_mem, :pushmem, [:pointer, :buffer_in, :size_t], :int
23
+ czmq_function :add_mem, :addmem, [:pointer, :buffer_in, :size_t], :int
24
+ czmq_function :push_zstr, :pushstr, [:pointer, :string], :int
25
+ czmq_function :add_zstr, :addstr, [:pointer, :string], :int
26
+ czmq_function :push_zstrf, :pushstrf, [:pointer, :string, :varargs], :int
27
+ czmq_function :add_zstrf, :addstrf, [:pointer, :string, :varargs], :int
28
+ czmq_function :remove_zframe, :remove, [:pointer, :pointer], :void
29
+ czmq_function :first_zframe, :first, [:pointer], :pointer
30
+ czmq_function :next_zframe, :next, [:pointer], :pointer
31
+ czmq_function :last_zframe, :last, [:pointer], :pointer
32
+ czmq_function :encode_zmsg, :encode, [:pointer, :buffer_out] :size_t
33
+ czmq_function :decode_zmsg, :decode, [:pointer, :size_t], :pointer
34
+ czmq_function :dup_zmsg, :dup, [:pointer], :pointer
35
+ czmq_function :print, :print, [:pointer], :void
36
36
 
37
37
  def each
38
38
  yield first
@@ -49,6 +49,8 @@ module CZMQ
49
49
 
50
50
  def add(data)
51
51
  case data
52
+ when FFI::Pointer
53
+ add_mem(data, data.size)
52
54
  when Zframe
53
55
  append_zframe(data)
54
56
  when String
@@ -58,7 +60,11 @@ module CZMQ
58
60
  when NilClass
59
61
  add_mem(data, 0)
60
62
  else
61
- if data.respond_to?(:to_zframe)
63
+ if data.respond_to?(:to_ptr) &&
64
+ data.respond_to?(:size)
65
+
66
+ add_mem(data.to_ptr, data.size)
67
+ elsif data.respond_to?(:to_zframe)
62
68
  append_zframe(data.to_zframe)
63
69
  elsif data.respond_to?(:data) &&
64
70
  data.respond_to?(:size)
@@ -79,6 +85,8 @@ module CZMQ
79
85
 
80
86
  def push(data)
81
87
  case data
88
+ when FFI::Pointer
89
+ push_mem(data, data.size)
82
90
  when Zframe
83
91
  prepend_zframe(data)
84
92
  when String
@@ -88,7 +96,11 @@ module CZMQ
88
96
  when NilClass
89
97
  push_mem(data, 0)
90
98
  else
91
- if data.respond_to?(:to_zframe)
99
+ if data.respond_to?(:to_ptr) &&
100
+ data.respond_to?(:size)
101
+
102
+ push_mem(data.to_ptr, data.size)
103
+ elsif data.respond_to?(:to_zframe)
92
104
  prepend_zframe(data.to_zframe)
93
105
  elsif data.respond_to?(:data) &&
94
106
  data.respond_to?(:size)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-czmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5.pre
4
+ version: 0.0.6.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hendrik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-27 00:00:00.000000000 Z
12
+ date: 2014-10-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi