- perf improvement with C++
RecvMsg : public NanAsyncWorker
class - start using tape for testing
- windows support
- remove
RecvStr()
C++ function
- pipe all endpoints together, it's a new API!
- use
write()
in place ofsend()
.on('data',cb)
replaceson('msg',cb)
- combine sockets in new ways.
- discovery and development of
pipe()
method as just a flexiblezmq_proxy()
ornn_device()
- sockets inherit from
duplexify
, a fully duplexed transform of thereadable-stream
module. - nanomsg.iøjs streams are domain, protocol, and transport agnostic sockets
- no longer inherit from
EventEmitter
, messages distributereadable
orwriteable
instead - perf tests confirm
Streams
inheritence switch does not impact in any meaningful way - discovered earlier
stopBufferOverflow
bug associated with the option of the same name and resolved. bufferOverflow
was caused by a timeout issue with closing sockets too soon.- remove
asBuffer
option in favor of stream encoding conventions that have become idiomatic NodeJS
- new options api:
linger
,sndbuf
,rcvbuf
,sndtimeo
,rcvtimeo
,reconn
,maxreconn
,sndprio
,rcvprio
- port the zeromq.node (zmq module) perf tests
- introduce
Writeable
stream forsend()
(complementReadable
used in recv) - improve
test/nanomsg.stream.js
, write data to the newWriteable
stream - add osx to travis plus overall improvements to CI matrix design
- add Node's new 0.12 release to test coverage
- add
getsockopt()
andsetsockopt()
native functions - new dependency on
through2
module - start API doc with
nano.socket()
function (begun within the readme) - minor language fix in LICENSE
- add an option (stopBufferOverflow: true) to prevent the buffer overflow crash
- asBuffer option to support native switches between strings and buffers
- update send/recv functions for better buffer handling
- force buffer lengths to be exact measurements passed to nn_send/nn_recv
- ensure data sent as C strings are null/zero terminated
- port a kernel multiplexer function to javascript (lib/getevent.h)
- test multiple heterogeneous endpoints and add other cool tests
- javascript streams (both standard and classic streams of node/iojs)
- keep EventEmitter and Streams event mechanisms mutually exclusive
- import experiments conducted in: https://github.com/reqshark/nmsg