Class: NanoMsg::SubSocket

Inherits:
Socket
  • Object
show all
Defined in:
ext/init.c

Instance Method Summary collapse

Methods inherited from Socket

#bind, #close, #connect, #recv, #send, #setsockopt

Constructor Details

#initializeObject

Instance Method Details

#subscribe(channel) ⇒ Object



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'ext/init.c', line 304

static VALUE
sub_sock_subscribe(VALUE socket, VALUE channel)
{
  int sock = sock_get(socket);
  int err;

  err = nn_setsockopt(
    sock, NN_SUB, NN_SUB_SUBSCRIBE,
    StringValuePtr(channel),
    RSTRING_LEN(channel)
  );
  if (err < 0)
    RAISE_SOCK_ERROR;

  return socket;
}

#unsubscribe(channel) ⇒ Object



321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
# File 'ext/init.c', line 321

static VALUE
sub_sock_unsubscribe(VALUE socket, VALUE channel)
{
  int sock = sock_get(socket);
  int err;

  err = nn_setsockopt(
    sock, NN_SUB, NN_SUB_UNSUBSCRIBE,
    StringValuePtr(channel),
    RSTRING_LEN(channel)
  );
  if (err < 0)
    RAISE_SOCK_ERROR;

  return socket;
}