<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/src/go/unit/request.go, branch archive/shiftTooManyBits</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Go: moving source files to the root of the project.</title>
<updated>2019-12-24T14:59:52+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-12-24T14:59:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f5a2984acf9a562b6b1eb45a21d9af2be2415659'/>
<id>f5a2984acf9a562b6b1eb45a21d9af2be2415659</id>
<content type='text'>
This patch includes packaging changes related to files move.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch includes packaging changes related to files move.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: do not store pointer to Go object.</title>
<updated>2019-09-18T15:31:14+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-09-18T15:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=84e4a6437f69b14b1cafbe7915447fdcf1d87f68'/>
<id>84e4a6437f69b14b1cafbe7915447fdcf1d87f68</id>
<content type='text'>
To pass Go object references to C and back we use hack with casting to
unsafe and then to uintptr.  However, we should not store such references
because Go not guaratnee it will be available by the same address.
Introducing map with integer key helps to avoid dereference stored address.

This closes #253 and #309 issues on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To pass Go object references to C and back we use hack with casting to
unsafe and then to uintptr.  However, we should not store such references
because Go not guaratnee it will be available by the same address.
Introducing map with integer key helps to avoid dereference stored address.

This closes #253 and #309 issues on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjusting request schema value according to connection tls state.</title>
<updated>2019-03-21T10:55:57+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-03-21T10:55:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=452ce0789e8e8f1ac98cc0ed7efce03656a3d616'/>
<id>452ce0789e8e8f1ac98cc0ed7efce03656a3d616</id>
<content type='text'>
This closes #223 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This closes #223 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unit application library.</title>
<updated>2018-08-06T14:27:33+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-08-06T14:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1bb22d1e922c87d3c86c67bdce626767ee48fb5c'/>
<id>1bb22d1e922c87d3c86c67bdce626767ee48fb5c</id>
<content type='text'>
Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: fixed request.Read() behaviour for EOF.</title>
<updated>2018-04-20T14:23:43+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-04-20T14:23:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ad36c8ca8da62d3c19398bf04aceb0f113cc253d'/>
<id>ad36c8ca8da62d3c19398bf04aceb0f113cc253d</id>
<content type='text'>
This closes #108 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This closes #108 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: Forced WriteHeader after application request processing.</title>
<updated>2018-04-06T13:27:46+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-04-06T13:27:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=8934afee242c1f9e33a46f4347c0a0c773590db0'/>
<id>8934afee242c1f9e33a46f4347c0a0c773590db0</id>
<content type='text'>
Application should create response for every request.
If not, Unit package will do it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Application should create response for every request.
If not, Unit package will do it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: removing request registry.</title>
<updated>2017-12-06T09:16:02+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2017-12-06T09:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=d14c0774c7e6f372dfebcfcafdcac718b7e28789'/>
<id>d14c0774c7e6f372dfebcfcafdcac718b7e28789</id>
<content type='text'>
Passing unsafe.Pointers (void *) from Go to C is complicated by an attempt
to make such pointers less unsafe.

A straightforward optimization is to replace 'unsafe.Pointer' with 'uintptr'
(thanks to Xin Huang for the idea: https://stackoverflow.com/a/44826533 ).

As a result, request registry with mutex is gone.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing unsafe.Pointers (void *) from Go to C is complicated by an attempt
to make such pointers less unsafe.

A straightforward optimization is to replace 'unsafe.Pointer' with 'uintptr'
(thanks to Xin Huang for the idea: https://stackoverflow.com/a/44826533 ).

As a result, request registry with mutex is gone.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing Go program crash.</title>
<updated>2017-10-27T08:05:22+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2017-10-27T08:05:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1d11f8cfbbc1d991767e005e0ac2b1522d0f907e'/>
<id>1d11f8cfbbc1d991767e005e0ac2b1522d0f907e</id>
<content type='text'>
Go request registration should be removed before C request memory freed.

C request address used as a key in Go map.  Freed memory can be instantly
reused for other request and older request registration should removed at this
point to avoid collisions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Go request registration should be removed before C request memory freed.

C request address used as a key in Go map.  Freed memory can be instantly
reused for other request and older request registration should removed at this
point to avoid collisions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Style fixes.</title>
<updated>2017-09-05T23:30:55+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-09-05T23:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=58907888e510f6907513da2ea4506ee78b9bf77c'/>
<id>58907888e510f6907513da2ea4506ee78b9bf77c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>nginext has been renamed to unit.</title>
<updated>2017-08-30T21:42:16+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2017-08-30T21:42:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f0e9e3ace94c82fab78ab1d4ee8c3042f3e94fdf'/>
<id>f0e9e3ace94c82fab78ab1d4ee8c3042f3e94fdf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
