Class: NanoMsg::SubSocket

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

Instance Method Summary collapse

Methods inherited from Socket

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

Constructor Details

#initializeObject

Instance Method Details

#subscribe(channel) ⇒ Object



355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'ext/init.c', line 355

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



372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
# File 'ext/init.c', line 372

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;
}