Skip to content

Commit e27e4f2

Browse files
committed
docs and minor namespace improvements to binding
Signed-off-by: Bent Cardan <bent@nothingsatisfies.com>
1 parent 8054375 commit e27e4f2

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

binding.cc

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ using Nan::MaybeLocal;
3838
using Nan::NewBuffer;
3939
using Nan::Callback;
4040
using Nan::Maybe;
41+
using Nan::Set;
4142
using Nan::New;
4243
using Nan::To;
4344

@@ -142,7 +143,7 @@ NAN_METHOD(tcplisten){
142143
NAN_METHOD(tcpport){
143144
tcpsock s = UnwrapPointer<tcpsock>(info[0]);
144145
int port = tcpport(s);
145-
info.GetReturnValue().Set(Nan::New<Number>(port));
146+
info.GetReturnValue().Set(New<Number>(port));
146147
}
147148

148149
NAN_METHOD(tcpaccept){
@@ -288,9 +289,9 @@ NAN_METHOD(udprecv){
288289
* • buf: the udp buffer
289290
* • addr: a human readable IP address string of the buffer's origin
290291
*/
291-
Local<Object> obj = Nan::New<Object>();
292-
Nan::Set(obj, New("buf").ToLocalChecked(), h);
293-
Nan::Set(obj, New("addr").ToLocalChecked(), New<String>(ipstr).ToLocalChecked());
292+
Local<Object> obj = New<Object>();
293+
Set(obj, New("buf").ToLocalChecked(), h);
294+
Set(obj, New("addr").ToLocalChecked(), New<String>(ipstr).ToLocalChecked());
294295

295296
info.GetReturnValue().Set(obj);
296297
}
@@ -309,7 +310,7 @@ NAN_METHOD(udpattach){
309310
NAN_METHOD(udpdetach){
310311
int fd = udpdetach(UnwrapPointer<udpsock>(info[0]));
311312
assert(fd != -1);
312-
info.GetReturnValue().Set(Nan::New<Number>(fd));
313+
info.GetReturnValue().Set(New<Number>(fd));
313314
}
314315

315316
/******************************************************************************/
@@ -346,19 +347,18 @@ void udpRead(uv_poll_t *req, int status, int events) {
346347
ctx = reinterpret_cast<udp_t *>(req);
347348

348349
char buf[ctx->len];
349-
ss = recvfrom(ctx->fd, buf, sizeof(buf),0, (struct sockaddr*)&addr, &slen);
350+
ss = recvfrom(ctx->fd, buf, sizeof(buf), 0, (struct sockaddr*)&addr, &slen);
350351

351352
if(ss >= 0) {
352353
ipaddrstr(addr, ipstr);
353-
Local<Object> obj = Nan::New<Object>();
354+
Local<Object> o = New<Object>();
354355
Local<Object> h = NewBuffer(ss).ToLocalChecked();
355356
memcpy(node::Buffer::Data(h), buf, ss);
356357

357-
Nan::Set(obj, New("buf").ToLocalChecked(), h);
358-
Nan::Set(obj, New("addr").ToLocalChecked(),
359-
New<String>(ipstr).ToLocalChecked());
358+
Set(o, New("buf").ToLocalChecked(), h);
359+
Set(o, New("addr").ToLocalChecked(), New<String>(ipstr).ToLocalChecked());
360360

361-
Local<Value> argv[] = { obj };
361+
Local<Value> argv[] = { o };
362362
ctx->cb->Call(1, argv);
363363
}
364364
}
@@ -430,7 +430,7 @@ NAN_METHOD(unixsend){
430430
size_t sz = unixsend(UnwrapPointer<unixsock>(info[0]),
431431
node::Buffer::Data(info[1]), node::Buffer::Length(info[1]), -1);
432432

433-
info.GetReturnValue().Set(Nan::New<Number>(sz));
433+
info.GetReturnValue().Set(New<Number>(sz));
434434
}
435435

436436
//TODO: deadline
@@ -483,7 +483,7 @@ NAN_METHOD(unixattach){
483483
NAN_METHOD(unixdetach){
484484
int fd = unixdetach(UnwrapPointer<unixsock>(info[0]));
485485
assert(fd != -1);
486-
info.GetReturnValue().Set(Nan::New<Number>(fd));
486+
info.GetReturnValue().Set(New<Number>(fd));
487487
}
488488

489489
NAN_METHOD(goredump){ goredump(); };
@@ -504,11 +504,11 @@ NAN_METHOD(test){
504504
}
505505

506506
#define EXPORT_METHOD(C, S) \
507-
Nan::Set(C, Nan::New(#S).ToLocalChecked(), \
508-
Nan::GetFunction(Nan::New<FunctionTemplate>(S)).ToLocalChecked());
507+
Set(C, New(#S).ToLocalChecked(), \
508+
Nan::GetFunction(New<FunctionTemplate>(S)).ToLocalChecked());
509509

510510
NAN_MODULE_INIT(Init) {
511-
Nan::HandleScope scope;
511+
HandleScope scope;
512512

513513
/* ip resolution */
514514
EXPORT_METHOD(target, iplocal);

readme.markdown

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,21 @@ var ipaddr = lib.iplocal(4444);
7979
var ls = lib.udplisten(ipaddr);
8080
process.stdout.write('udp socket listening on port: ' + lib.udpport(ls) + '\n');
8181

82-
while(1) {
82+
/* next, to get udp msgs, use udprecv or udprecva */
83+
84+
85+
/* the non-blocking way (a for async) */
86+
lib.udprecva(ls, 255, function (msg) {
87+
var buf = String(msg.buf) /* msg.buf is a node buffer of the packet body */
88+
var addr = msg.addr /* string address of packet origin */
89+
});
90+
91+
/* the blocking way */
92+
while (1) {
8393
var sz = 13;
8494
var deadline = 10;
8595

86-
var msg = lib.udprecv(ls, sz, deadline); // deadline is optional param
96+
var msg = lib.udprecv(ls, sz, deadline); /* deadline is optional param */
8797
process.stdout.write(msg.buf + '\n');
8898
}
8999
```

0 commit comments

Comments
 (0)