Node.js Addon Development

Addons

zeromq

#include <zmq.h>

// ...

NAN_METHOD(Socket::Connect) {
  NanScope();
  if (!args[0]->IsString()) {
    return NanThrowTypeError("Address must be a string!");
  }

  GET_SOCKET(args);

  String::Utf8Value address(args[0].As<String>());
  if (zmq_connect(socket->socket_, *address))
    return NanThrowError(ErrorMessage());

  if (socket->endpoints++ == 0)
    socket->Ref();

  NanReturnUndefined();
}

// ...

NODE_MODULE(zmq, init)