<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/src/nxt_master_process.h, branch str-v4</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>The master process has been renamed to the main process.</title>
<updated>2017-08-28T23:59:35+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-08-28T23:59:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9d487df10df5000a84c9c1a75fff0cff525d4454'/>
<id>9d487df10df5000a84c9c1a75fff0cff525d4454</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>The new module configuration interface.</title>
<updated>2017-08-17T18:47:19+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-08-17T18:47:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=949548da293fa30ef200d07c3e4ff108174404b7'/>
<id>949548da293fa30ef200d07c3e4ff108174404b7</id>
<content type='text'>
Configuration and building example:

  ./configure
  ./configure python
  ./configure php
  ./configure go
  make all

or

  ./configure
  make nginext
  ./configure python
  make python
  ./configure php
  make php
  ./configure go
  make go

Modules configuration options and building examples:

  ./configure python --module=python2 --config=python2.7-config
  make python2

  ./configure php --module=php7 --config=php7.0-config
                  --lib-path=/usr/local/php7.0
  make php7

  ./configure go --go=go1.6 --go-path=${HOME}/go1.6
  make go1.6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Configuration and building example:

  ./configure
  ./configure python
  ./configure php
  ./configure go
  make all

or

  ./configure
  make nginext
  ./configure python
  make python
  ./configure php
  make php
  ./configure go
  make go

Modules configuration options and building examples:

  ./configure python --module=python2 --config=python2.7-config
  make python2

  ./configure php --module=php7 --config=php7.0-config
                  --lib-path=/usr/local/php7.0
  make php7

  ./configure go --go=go1.6 --go-path=${HOME}/go1.6
  make go1.6
</pre>
</div>
</content>
</entry>
<entry>
<title>Listening socket creation and binding operations are passed</title>
<updated>2017-08-02T18:11:20+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-08-02T18:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=a94178a05e7a96c5c6ccf144aad90695d3773b4b'/>
<id>a94178a05e7a96c5c6ccf144aad90695d3773b4b</id>
<content type='text'>
to the master process.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to the master process.
</pre>
</div>
</content>
</entry>
<entry>
<title>New process port exchange changed. READY message type introduced.</title>
<updated>2017-07-12T17:32:16+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2017-07-12T17:32:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=b0c1e740cf404f8fed5eed75fddb205ca74314e0'/>
<id>b0c1e740cf404f8fed5eed75fddb205ca74314e0</id>
<content type='text'>
Application process start request DATA message from router to master.
Master notifies router via NEW_PORT message after worker process become ready.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Application process start request DATA message from router to master.
Master notifies router via NEW_PORT message after worker process become ready.
</pre>
</div>
</content>
</entry>
<entry>
<title>Controller: proper reconfiguration requests handling.</title>
<updated>2017-07-12T17:21:17+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2017-07-12T17:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c38bcb7d70729434893ae4d5f2f58a78a36d2bd5'/>
<id>c38bcb7d70729434893ae4d5f2f58a78a36d2bd5</id>
<content type='text'>
Now controller serializes all reconfiguration requests
and waits for result from router.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now controller serializes all reconfiguration requests
and waits for result from router.
</pre>
</div>
</content>
</entry>
<entry>
<title>Router: read configuration from port.</title>
<updated>2017-07-06T15:38:51+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2017-07-06T15:38:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c56d2af3bcb10ca27b74c2fe123ea98dea07f0a0'/>
<id>c56d2af3bcb10ca27b74c2fe123ea98dea07f0a0</id>
<content type='text'>
Controller: stub to send configuration from POST body "as is" to router.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Controller: stub to send configuration from POST body "as is" to router.
</pre>
</div>
</content>
</entry>
<entry>
<title>Application-side message processing.</title>
<updated>2017-06-23T16:20:08+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2017-06-23T16:20:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e7a0634a718ca1f2379f4694c17ef4219f5538fa'/>
<id>e7a0634a718ca1f2379f4694c17ef4219f5538fa</id>
<content type='text'>
Usage on the router side:

    nxt_app_wmsg_t       wmsg;
    nxt_app_parse_ctx_t  parse_ctx;

    nxt_app_http_req_init(task, &amp;parse_ctx);

    /* parse incoming request data */
    if (nxt_app_http_req_parse(task, &amp;parse_ctx, buf) == NXT_DONE) {

        /* choose app */
        nxt_app = nxt_select_app(... &amp;parse_ctx.r ...);

        /* find port */
        wmsg.port = nxt_get_app_port(... nxt_app ...);
        wmsg.buf = &amp;wmsg.write;

        /* fill write message buffer in shared mem */
        nxt_app-&gt;prepare_msg(task, &amp;parse_ctx.r, &amp;wmsg);

        /* send message to app for processing */
        nxt_port_socket_write(task, wmsg.port, NXT_PORT_MSG_DATA,
                              -1, 0, 0, wmsg.write);
    }
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Usage on the router side:

    nxt_app_wmsg_t       wmsg;
    nxt_app_parse_ctx_t  parse_ctx;

    nxt_app_http_req_init(task, &amp;parse_ctx);

    /* parse incoming request data */
    if (nxt_app_http_req_parse(task, &amp;parse_ctx, buf) == NXT_DONE) {

        /* choose app */
        nxt_app = nxt_select_app(... &amp;parse_ctx.r ...);

        /* find port */
        wmsg.port = nxt_get_app_port(... nxt_app ...);
        wmsg.buf = &amp;wmsg.write;

        /* fill write message buffer in shared mem */
        nxt_app-&gt;prepare_msg(task, &amp;parse_ctx.r, &amp;wmsg);

        /* send message to app for processing */
        nxt_port_socket_write(task, wmsg.port, NXT_PORT_MSG_DATA,
                              -1, 0, 0, wmsg.write);
    }
</pre>
</div>
</content>
</entry>
<entry>
<title>Processes refactoring.</title>
<updated>2017-03-09T15:03:27+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-03-09T15:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=6f2c9acd1841ca20a1388b34aef64e9f00459090'/>
<id>6f2c9acd1841ca20a1388b34aef64e9f00459090</id>
<content type='text'>
The cycle has been renamed to the runtime.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The cycle has been renamed to the runtime.
</pre>
</div>
</content>
</entry>
<entry>
<title>Event engines refactoring.</title>
<updated>2017-02-07T17:04:56+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-02-07T17:04:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=059a8642898a6bd4b47d13a1c1d599cd44af7e1c'/>
<id>059a8642898a6bd4b47d13a1c1d599cd44af7e1c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introducing tasks.</title>
<updated>2017-01-23T16:56:03+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-01-23T16:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=de532922d9ab42aa15b40d47c8db53ac2af38500'/>
<id>de532922d9ab42aa15b40d47c8db53ac2af38500</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
