rbczmq 1.0 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,9 @@
1
1
  = Changelog
2
2
 
3
+ == 1.1 (April 4, 2012)
4
+ * Bump czmq to version 1.4.0
5
+ * Enable debug symbols for czmq in order to track down a GC bug with ZMQ::Message
6
+
3
7
  == 1.0 (November 24, 2012)
4
8
  * Supports ZeroMQ 3.2.2 (first stable and backwards compatible 3.x release)
5
9
  * Monitoring API for handling socket state changes / events
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbczmq (0.8)
4
+ rbczmq (1.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
Binary file
@@ -301,7 +301,7 @@ static VALUE rb_czmq_ctx_socket(VALUE obj, VALUE type)
301
301
  #endif
302
302
  sock->flags = 0;
303
303
  sock->ctx = ctx->ctx;
304
- sock->verbose = FALSE;
304
+ sock->verbose = false;
305
305
  sock->state = ZMQ_SOCKET_PENDING;
306
306
  sock->endpoints = rb_ary_new();
307
307
  sock->thread = rb_thread_current();
@@ -39,7 +39,7 @@ def check_heads heads = [], fatal = false
39
39
  heads.all? { |head| have_header(head) || (abort("could not find header: #{head}") if fatal)}
40
40
  end
41
41
 
42
- CZMQ_CFLAGS = []
42
+ CZMQ_CFLAGS = %w(-g)
43
43
 
44
44
  case RUBY_PLATFORM
45
45
  when /mswin32/, /mingw32/, /bccwin32/
@@ -232,7 +232,7 @@ static VALUE rb_czmq_frame_data_equals_p(VALUE obj, VALUE data)
232
232
  {
233
233
  ZmqGetFrame(obj);
234
234
  Check_Type(data, T_STRING);
235
- return (zframe_streq(frame, RSTRING_PTR(data)) == TRUE) ? Qtrue : Qfalse;
235
+ return (zframe_streq(frame, RSTRING_PTR(data)) == true) ? Qtrue : Qfalse;
236
236
  }
237
237
 
238
238
  /*
@@ -19,7 +19,7 @@ static VALUE rb_czmq_callback0(VALUE *args)
19
19
  ZMQ_NOINLINE static int rb_czmq_loop_started_callback(ZMQ_UNUSED zloop_t *loop, ZMQ_UNUSED zmq_pollitem_t *item, void *arg)
20
20
  {
21
21
  zmq_loop_wrapper *loop_wrapper = arg;
22
- loop_wrapper->running = TRUE;
22
+ loop_wrapper->running = true;
23
23
  return 0;
24
24
  }
25
25
 
@@ -32,7 +32,7 @@ ZMQ_NOINLINE static int rb_czmq_loop_started_callback(ZMQ_UNUSED zloop_t *loop,
32
32
  ZMQ_NOINLINE static int rb_czmq_loop_breaker_callback(ZMQ_UNUSED zloop_t *loop, ZMQ_UNUSED zmq_pollitem_t *item, void *arg)
33
33
  {
34
34
  zmq_loop_wrapper *loop_wrapper = arg;
35
- loop_wrapper->running = FALSE;
35
+ loop_wrapper->running = false;
36
36
  return -1;
37
37
  }
38
38
 
@@ -72,7 +72,7 @@ ZMQ_NOINLINE static int rb_czmq_loop_timer_callback(zloop_t *loop, ZMQ_UNUSED zm
72
72
  int rc;
73
73
  VALUE args[3];
74
74
  ZmqGetTimer((VALUE)cb);
75
- if (timer->cancelled == TRUE) {
75
+ if (timer->cancelled == true) {
76
76
  zloop_timer_end(loop, (void *)cb);
77
77
  return 0;
78
78
  }
@@ -163,8 +163,8 @@ static VALUE rb_czmq_loop_new(VALUE loop)
163
163
  lp->loop = zloop_new();
164
164
  ZmqAssertObjOnAlloc(lp->loop, lp);
165
165
  lp->flags = 0;
166
- lp->running = FALSE;
167
- lp->verbose = FALSE;
166
+ lp->running = false;
167
+ lp->verbose = false;
168
168
  rb_obj_call_init(loop, 0, NULL);
169
169
  return loop;
170
170
  }
@@ -209,7 +209,7 @@ static VALUE rb_czmq_loop_start(VALUE obj)
209
209
  static VALUE rb_czmq_loop_running_p(VALUE obj)
210
210
  {
211
211
  ZmqGetLoop(obj);
212
- return (loop->running == TRUE) ? Qtrue : Qfalse;
212
+ return (loop->running == true) ? Qtrue : Qfalse;
213
213
  }
214
214
 
215
215
  /*
@@ -238,7 +238,7 @@ static void rb_czmq_loop_stop0(zmq_loop_wrapper *loop)
238
238
  static VALUE rb_czmq_loop_stop(VALUE obj)
239
239
  {
240
240
  ZmqGetLoop(obj);
241
- if (loop->running == FALSE) rb_raise(rb_eZmqError, "event loop not running!");
241
+ if (loop->running == false) rb_raise(rb_eZmqError, "event loop not running!");
242
242
  rb_czmq_loop_stop0(loop);
243
243
  return Qnil;
244
244
  }
@@ -278,9 +278,9 @@ static VALUE rb_czmq_loop_destroy(VALUE obj)
278
278
 
279
279
  static VALUE rb_czmq_loop_set_verbose(VALUE obj, VALUE level)
280
280
  {
281
- Bool vlevel;
281
+ bool vlevel;
282
282
  ZmqGetLoop(obj);
283
- vlevel = (level == Qtrue) ? TRUE : FALSE;
283
+ vlevel = (level == Qtrue) ? true : false;
284
284
  zloop_set_verbose(loop->loop, vlevel);
285
285
  loop->verbose = vlevel;
286
286
  return Qnil;
@@ -309,7 +309,7 @@ static VALUE rb_czmq_loop_register(VALUE obj, VALUE pollable)
309
309
  rc = zloop_poller(loop->loop, pollitem->item, rb_czmq_loop_pollitem_callback, (void *)pollitem);
310
310
  ZmqAssert(rc);
311
311
  /* Let pollable be verbose if loop is verbose */
312
- if (loop->verbose == TRUE) rb_czmq_pollitem_set_verbose(pollable, Qtrue);
312
+ if (loop->verbose == true) rb_czmq_pollitem_set_verbose(pollable, Qtrue);
313
313
  return Qtrue;
314
314
  }
315
315
 
@@ -6,8 +6,8 @@
6
6
  typedef struct {
7
7
  zloop_t *loop;
8
8
  int flags;
9
- Bool verbose;
10
- Bool running;
9
+ bool verbose;
10
+ bool running;
11
11
  } zmq_loop_wrapper;
12
12
 
13
13
  #define ZmqAssertLoop(obj) ZmqAssertType(obj, rb_cZmqLoop, "ZMQ::Loop")
@@ -47,7 +47,7 @@ int rb_czmq_poller_rebuild_pollset(zmq_poll_wrapper *poller)
47
47
  ZmqGetPollitem(pollable);
48
48
  poller->pollset[rebuilt] = *pollitem->item;
49
49
  }
50
- poller->dirty = FALSE;
50
+ poller->dirty = false;
51
51
  return 0;
52
52
  }
53
53
 
@@ -93,8 +93,8 @@ VALUE rb_czmq_poller_new(VALUE obj)
93
93
  poller->pollables = rb_ary_new();
94
94
  poller->readables = rb_ary_new();
95
95
  poller->writables = rb_ary_new();
96
- poller->dirty = FALSE;
97
- poller->verbose = FALSE;
96
+ poller->dirty = false;
97
+ poller->verbose = false;
98
98
  rb_obj_call_init(obj, 0, NULL);
99
99
  return obj;
100
100
  }
@@ -143,7 +143,7 @@ VALUE rb_czmq_poller_poll(int argc, VALUE *argv, VALUE obj)
143
143
  if (NIL_P(tmout)) tmout = INT2NUM(0);
144
144
  if (TYPE(tmout) != T_FIXNUM && TYPE(tmout) != T_FLOAT) rb_raise(rb_eTypeError, "wrong timeout type %s (expected Fixnum or Float)", RSTRING_PTR(rb_obj_as_string(tmout)));
145
145
  if (poller->poll_size == 0) return INT2NUM(0);
146
- if (poller->dirty == TRUE) {
146
+ if (poller->dirty == true) {
147
147
  rc = rb_czmq_poller_rebuild_pollset(poller);
148
148
  if (rc == -1) rb_raise(rb_eZmqError, "failed in rebuilding the pollset!");
149
149
  }
@@ -193,10 +193,10 @@ VALUE rb_czmq_poller_register(VALUE obj, VALUE pollable)
193
193
  pollable = rb_czmq_pollitem_coerce(pollable);
194
194
  ZmqGetPollitem(pollable);
195
195
  /* Let pollable item be verbose if poller is verbose */
196
- if (poller->verbose == TRUE) rb_czmq_pollitem_set_verbose(pollable, Qtrue);
196
+ if (poller->verbose == true) rb_czmq_pollitem_set_verbose(pollable, Qtrue);
197
197
  rb_ary_push(poller->pollables, pollable);
198
198
  poller->poll_size++;
199
- poller->dirty = TRUE;
199
+ poller->dirty = true;
200
200
  return pollable;
201
201
  }
202
202
 
@@ -226,7 +226,7 @@ VALUE rb_czmq_poller_remove(VALUE obj, VALUE pollable)
226
226
  if (pollable == rpollable || rb_czmq_pollitem_pollable(pollable) == rb_czmq_pollitem_pollable(rpollable)) {
227
227
  rb_ary_delete(poller->pollables, rpollable);
228
228
  poller->poll_size--;
229
- poller->dirty = TRUE;
229
+ poller->dirty = true;
230
230
  return rpollable;
231
231
  }
232
232
  }
@@ -287,9 +287,9 @@ VALUE rb_czmq_poller_writables(VALUE obj)
287
287
 
288
288
  static VALUE rb_czmq_poller_set_verbose(VALUE obj, VALUE level)
289
289
  {
290
- Bool vlevel;
290
+ bool vlevel;
291
291
  ZmqGetPoller(obj);
292
- vlevel = (level == Qtrue) ? TRUE : FALSE;
292
+ vlevel = (level == Qtrue) ? true : false;
293
293
  poller->verbose = vlevel;
294
294
  return Qnil;
295
295
  }
@@ -7,8 +7,8 @@ typedef struct {
7
7
  VALUE writables;
8
8
  zmq_pollitem_t *pollset;
9
9
  int poll_size;
10
- Bool dirty;
11
- Bool verbose;
10
+ bool dirty;
11
+ bool verbose;
12
12
  } zmq_poll_wrapper;
13
13
 
14
14
  #define ZmqAssertPoller(obj) ZmqAssertType(obj, rb_cZmqPoller, "ZMQ::Poller")
@@ -229,10 +229,10 @@ VALUE rb_czmq_pollitem_handler_equals(VALUE obj, VALUE handler)
229
229
 
230
230
  VALUE rb_czmq_pollitem_set_verbose(VALUE obj, VALUE level)
231
231
  {
232
- Bool vlevel;
232
+ bool vlevel;
233
233
  zmq_sock_wrapper *sock = NULL;
234
234
  ZmqGetPollitem(obj);
235
- vlevel = (level == Qtrue) ? TRUE : FALSE;
235
+ vlevel = (level == Qtrue) ? true : false;
236
236
  if (rb_obj_is_kind_of(pollitem->socket, rb_cZmqSocket)) {
237
237
  GetZmqSocket(pollitem->socket);
238
238
  sock->verbose = vlevel;
@@ -46,7 +46,7 @@ rb_encoding *binary_encoding;
46
46
 
47
47
  static VALUE rb_czmq_m_interrupted_p(ZMQ_UNUSED VALUE obj)
48
48
  {
49
- return (zctx_interrupted == TRUE) ? Qtrue : Qfalse;
49
+ return (zctx_interrupted == true) ? Qtrue : Qfalse;
50
50
  }
51
51
 
52
52
  /*
@@ -289,10 +289,10 @@ static VALUE rb_czmq_socket_connect(VALUE obj, VALUE endpoint)
289
289
 
290
290
  static VALUE rb_czmq_socket_set_verbose(VALUE obj, VALUE level)
291
291
  {
292
- Bool vlevel;
292
+ bool vlevel;
293
293
  zmq_sock_wrapper *sock = NULL;
294
294
  GetZmqSocket(obj);
295
- vlevel = (level == Qtrue) ? TRUE : FALSE;
295
+ vlevel = (level == Qtrue) ? true : false;
296
296
  sock->verbose = vlevel;
297
297
  return Qnil;
298
298
  }
@@ -310,10 +310,10 @@ static VALUE rb_czmq_nogvl_zstr_send(void *ptr)
310
310
  #ifdef HAVE_RB_THREAD_BLOCKING_REGION
311
311
  return (VALUE)zstr_send(socket->socket, args->msg);
312
312
  #else
313
- if (rb_thread_alone()) return (VALUE)zstr_send_nowait(socket->socket, args->msg);
313
+ if (rb_thread_alone()) return (VALUE)zstr_send(socket->socket, args->msg);
314
314
  try_writable:
315
315
  if ((zsocket_events(socket->socket) & ZMQ_POLLOUT) == ZMQ_POLLOUT) {
316
- return (VALUE)zstr_send_nowait(socket->socket, args->msg);
316
+ return (VALUE)zstr_send(socket->socket, args->msg);
317
317
  } else {
318
318
  rb_thread_wait_fd(zsocket_fd(socket->socket));
319
319
  if (zsocket_sndtimeo(socket->socket) != -1)
@@ -13,7 +13,7 @@ typedef struct {
13
13
  zctx_t *ctx;
14
14
  void *socket;
15
15
  int flags;
16
- Bool verbose;
16
+ bool verbose;
17
17
  int state;
18
18
  #ifndef HAVE_RB_THREAD_BLOCKING_REGION
19
19
  zlist_t *str_buffer;
@@ -106,20 +106,20 @@ void rb_czmq_free_sock_gc(void *ptr);
106
106
  struct nogvl_send_args {
107
107
  zmq_sock_wrapper *socket;
108
108
  const char *msg;
109
- Bool read;
109
+ bool read;
110
110
  };
111
111
 
112
112
  struct nogvl_send_frame_args {
113
113
  zmq_sock_wrapper *socket;
114
114
  zframe_t *frame;
115
115
  int flags;
116
- Bool read;
116
+ bool read;
117
117
  };
118
118
 
119
119
  struct nogvl_send_message_args {
120
120
  zmq_sock_wrapper *socket;
121
121
  zmsg_t *message;
122
- Bool read;
122
+ bool read;
123
123
  };
124
124
 
125
125
  struct nogvl_recv_args {
@@ -49,7 +49,7 @@ VALUE rb_czmq_timer_s_new(int argc, VALUE *argv, VALUE timer)
49
49
  Check_Type(times, T_FIXNUM);
50
50
  timer_delay = (size_t)(((TYPE(delay) == T_FIXNUM) ? FIX2LONG(delay) : RFLOAT_VALUE(delay)) * 1000);
51
51
  timer = Data_Make_Struct(rb_cZmqTimer, zmq_timer_wrapper, rb_czmq_mark_timer, rb_czmq_free_timer_gc, tr);
52
- tr->cancelled = FALSE;
52
+ tr->cancelled = false;
53
53
  tr->delay = timer_delay;
54
54
  tr->times = FIX2INT(times);
55
55
  tr->callback = callback;
@@ -72,7 +72,7 @@ VALUE rb_czmq_timer_s_new(int argc, VALUE *argv, VALUE timer)
72
72
  static VALUE rb_czmq_timer_fire(VALUE obj, VALUE args)
73
73
  {
74
74
  ZmqGetTimer(obj);
75
- if (timer->cancelled == TRUE) rb_raise(rb_eZmqError, "cannot fire timer, already cancelled!");
75
+ if (timer->cancelled == true) rb_raise(rb_eZmqError, "cannot fire timer, already cancelled!");
76
76
  return rb_apply(timer->callback, intern_call, args);
77
77
  }
78
78
 
@@ -91,7 +91,7 @@ static VALUE rb_czmq_timer_fire(VALUE obj, VALUE args)
91
91
  static VALUE rb_czmq_timer_cancel(VALUE obj)
92
92
  {
93
93
  ZmqGetTimer(obj);
94
- timer->cancelled = TRUE;
94
+ timer->cancelled = true;
95
95
  return Qnil;
96
96
  }
97
97
 
@@ -4,7 +4,7 @@
4
4
  typedef struct {
5
5
  size_t delay;
6
6
  size_t times;
7
- Bool cancelled;
7
+ bool cancelled;
8
8
  VALUE callback;
9
9
  } zmq_timer_wrapper;
10
10
 
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module ZMQ
4
- VERSION = "1.0"
4
+ VERSION = "1.1"
5
5
  end
metadata CHANGED
@@ -1,49 +1,42 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rbczmq
3
- version: !ruby/object:Gem::Version
4
- hash: 15
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.1'
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- version: "1.0"
10
6
  platform: ruby
11
- authors:
12
- - "Lourens Naud\xC3\xA9"
7
+ authors:
8
+ - Lourens Naudé
13
9
  - James Tucker
14
10
  autorequire:
15
11
  bindir: bin
16
12
  cert_chain: []
17
-
18
- date: 2012-11-24 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
13
+ date: 2013-04-04 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
21
16
  name: rake-compiler
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
24
18
  none: false
25
- requirements:
19
+ requirements:
26
20
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 63
29
- segments:
30
- - 0
31
- - 8
32
- - 0
21
+ - !ruby/object:Gem::Version
33
22
  version: 0.8.0
34
23
  type: :development
35
- version_requirements: *id001
36
- description: "Ruby extension for CZMQ - High-level C Binding for \xC3\x98MQ (http://czmq.zeromq.org)"
37
- email:
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 0.8.0
31
+ description: Ruby extension for CZMQ - High-level C Binding for ØMQ (http://czmq.zeromq.org)
32
+ email:
38
33
  - lourens@methodmissing.com
39
34
  - jftucker@gmail.com
40
35
  executables: []
41
-
42
- extensions:
36
+ extensions:
43
37
  - ext/rbczmq/extconf.rb
44
38
  extra_rdoc_files: []
45
-
46
- files:
39
+ files:
47
40
  - .gitignore
48
41
  - .travis.yml
49
42
  - CHANGELOG.rdoc
@@ -150,38 +143,30 @@ files:
150
143
  - test/test_zmq.rb
151
144
  homepage: http://github.com/methodmissing/rbczmq
152
145
  licenses: []
153
-
154
146
  post_install_message:
155
- rdoc_options:
147
+ rdoc_options:
156
148
  - --charset=UTF-8
157
- require_paths:
149
+ require_paths:
158
150
  - lib
159
- required_ruby_version: !ruby/object:Gem::Requirement
151
+ required_ruby_version: !ruby/object:Gem::Requirement
160
152
  none: false
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- hash: 3
165
- segments:
166
- - 0
167
- version: "0"
168
- required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
158
  none: false
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- hash: 3
174
- segments:
175
- - 0
176
- version: "0"
159
+ requirements:
160
+ - - ! '>='
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
177
163
  requirements: []
178
-
179
164
  rubyforge_project:
180
- rubygems_version: 1.8.15
165
+ rubygems_version: 1.8.24
181
166
  signing_key:
182
167
  specification_version: 3
183
- summary: "Ruby extension for CZMQ - High-level C Binding for \xC3\x98MQ (http://czmq.zeromq.org)"
184
- test_files:
168
+ summary: Ruby extension for CZMQ - High-level C Binding for ØMQ (http://czmq.zeromq.org)
169
+ test_files:
185
170
  - test/helper.rb
186
171
  - test/socket/test_dealer_socket.rb
187
172
  - test/socket/test_pair_socket.rb