Node.js's goal is to provide an easy way to build scalable network programs. Node.js communicates to the operating system (via epoll, kqueue, /dev/poll, or select) that it should be notified when a new connection is made, after which it goes to sleep.
If someone new connects, then it executes the callback. Each connection is only a small heap allocation.
What's New in This Release:
· v8: upgrade to 3.20.11
· uv: upgrade to v0.11.7
· buffer: return offset for end of last write (Trevor Norris)
· build: embed the mdb_v8.so into the binary (Timothy J Fontaine)
· build: fix --without-ssl build (Ben Noordhuis)
· child_process: add 'shell' option to .exec() (Ben Noordhuis)
· dgram: report send errors to cb, don't pass bytes (Ben Noordhuis)
· fs: write strings directly to disk (Trevor Norris)
· https: fix default port (Koichi Kobayashi)
· openssl: use asm for sha, md5, rmd (Fedor Indutny)
· os: add mac address to networkInterfaces() output (Brian White)
· smalloc: introduce smalloc module (Trevor Norris)
· stream: Simplify flowing, passive data listening (streams3) (isaacs)
· tls: asynchronous SNICallback (Fedor Indutny)
· tls: share tls tickets key between cluster workers (Fedor Indutny)
· util: don't throw on circular %j input to format() (Ben Noordhuis)