<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/src/nodejs, branch 1.19.0-1</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Introducing the shared application port.</title>
<updated>2020-08-11T16:20:15+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-08-11T16:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=83595606121a821f9e3cef0f0b7e7fe87eb1e50a'/>
<id>83595606121a821f9e3cef0f0b7e7fe87eb1e50a</id>
<content type='text'>
This is the port shared between all application processes which use it to pass
requests for processing.  Using it significantly simplifies the request
processing code in the router.  The drawback is 2 more file descriptors per each
configured application and more complex libunit message wait/read code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the port shared between all application processes which use it to pass
requests for processing.  Using it significantly simplifies the request
processing code in the router.  The drawback is 2 more file descriptors per each
configured application and more complex libunit message wait/read code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Libunit refactoring: port management.</title>
<updated>2020-08-11T16:19:55+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-08-11T16:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ec3389b63bd7a9159d2be4a2863140f75095c7d3'/>
<id>ec3389b63bd7a9159d2be4a2863140f75095c7d3</id>
<content type='text'>
- Changed the port management callbacks to notifications, which e. g. avoids
the need to call the libunit function
- Added context and library instance reference counts for a safer resource
release
- Added the router main port initialization
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Changed the port management callbacks to notifications, which e. g. avoids
the need to call the libunit function
- Added context and library instance reference counts for a safer resource
release
- Added the router main port initialization
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: correct port data memory release.</title>
<updated>2020-08-07T12:06:24+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-08-07T12:06:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=375cbc2cc4aa379727b7e0f02a257e1d8e35ce4f'/>
<id>375cbc2cc4aa379727b7e0f02a257e1d8e35ce4f</id>
<content type='text'>
According to libuv documentation, uv_poll_t memory should be released
in a callback function passed to uv_close().  Otherwise, the Node.js application
process may crash at exit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to libuv documentation, uv_poll_t memory should be released
in a callback function passed to uv_close().  Otherwise, the Node.js application
process may crash at exit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: fixing Server.listen() method.</title>
<updated>2020-04-08T11:44:53+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-04-08T11:44:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ce53d6bdb1a61de0f81dad39a978dec92e286071'/>
<id>ce53d6bdb1a61de0f81dad39a978dec92e286071</id>
<content type='text'>
This is required for Express framework compatibility.

This closes #418 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required for Express framework compatibility.

This closes #418 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: fixing x86 warning about the signed/unsigned comparison.</title>
<updated>2020-03-03T15:28:16+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-03-03T15:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=004ab48a9ee88c3e9a7225c0c83910329ac01265'/>
<id>004ab48a9ee88c3e9a7225c0c83910329ac01265</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: suppress compilation warning.</title>
<updated>2020-01-28T14:06:57+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-01-28T14:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1451090d85db4152ba432b45d2e164b4f76bc80c'/>
<id>1451090d85db4152ba432b45d2e164b4f76bc80c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: implementing output message drain using SHM_ACK feature.</title>
<updated>2019-12-24T15:04:17+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-12-24T15:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=763bdff4018ec35de8383273d366160adebb6021'/>
<id>763bdff4018ec35de8383273d366160adebb6021</id>
<content type='text'>
ServerResponse.write() method tries to write data buffer using libunit
and stores buffers to write in a Server-wide output queue, which is
processed in response to SHM_ACK message from router.

As a side effect 'drain' event implemented and socket.writable flag
reflect current state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ServerResponse.write() method tries to write data buffer using libunit
and stores buffers to write in a Server-wide output queue, which is
processed in response to SHM_ACK message from router.

As a side effect 'drain' event implemented and socket.writable flag
reflect current state.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing libunit 'off by 2' issue in library.</title>
<updated>2019-11-11T15:04:17+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-11-11T15:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f2610d216059fd2dfced37442ea4e76f0b88a33b'/>
<id>f2610d216059fd2dfced37442ea4e76f0b88a33b</id>
<content type='text'>
Name and value in each header are 0-terminated, so additional 2 bytes
should be allocated for them.  There were several attempts to add these
2 bytes to headers in language modules, but some modules weren't updated.
Also, adding these 2 bytes is specific to the implementation which may be
changed later, so extending this mechanics to modules may cause errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Name and value in each header are 0-terminated, so additional 2 bytes
should be allocated for them.  There were several attempts to add these
2 bytes to headers in language modules, but some modules weren't updated.
Also, adding these 2 bytes is specific to the implementation which may be
changed later, so extending this mechanics to modules may cause errors.
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: introducing websocket support.</title>
<updated>2019-08-20T13:32:05+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-08-20T13:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e291841b3379f8787a10ad4f91e4aeae2ae323a4'/>
<id>e291841b3379f8787a10ad4f91e4aeae2ae323a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Node.js: returning "this" from writeHead() to allow chaining.</title>
<updated>2019-08-06T13:24:11+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2019-08-06T13:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=7fd9444728e1e509630f5ba0f50e7f9da150369c'/>
<id>7fd9444728e1e509630f5ba0f50e7f9da150369c</id>
<content type='text'>
In Node.js version 11.10.0 and later, the writeHead() function returns "this".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Node.js version 11.10.0 and later, the writeHead() function returns "this".
</pre>
</div>
</content>
</entry>
</feed>
