<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/haproxy.git/include/haproxy/stream.h, branch master</title>
<subtitle>github.com: haproxy/haproxy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/'/>
<entry>
<title>MINOR: stream: Introduce stream_abort() to abort on both sides in same time</title>
<updated>2023-04-14T12:04:59+00:00</updated>
<author>
<name>Christopher Faulet</name>
<email>cfaulet@haproxy.com</email>
</author>
<published>2023-04-13T13:22:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=7eb837df4adec2e4487898c89cae12c7605e7b1c'/>
<id>7eb837df4adec2e4487898c89cae12c7605e7b1c</id>
<content type='text'>
The function stream_abort() should now be called when an abort is performed
on the both channels in same time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function stream_abort() should now be called when an abort is performed
on the both channels in same time.
</pre>
</div>
</content>
</entry>
<entry>
<title>MINOR: stream: Uninline and export sess_set_term_flags() function</title>
<updated>2023-04-14T10:13:09+00:00</updated>
<author>
<name>Christopher Faulet</name>
<email>cfaulet@haproxy.com</email>
</author>
<published>2023-04-13T12:46:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=dbad8ec787e80a67b70d8ca7dc9b06a773884723'/>
<id>dbad8ec787e80a67b70d8ca7dc9b06a773884723</id>
<content type='text'>
This function will be used to set termination flags on TCP streams from
outside of process_stream(). Thus, it must be uninlined and exported.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function will be used to set termination flags on TCP streams from
outside of process_stream(). Thus, it must be uninlined and exported.
</pre>
</div>
</content>
</entry>
<entry>
<title>MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters</title>
<updated>2023-01-06T17:08:49+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2023-01-06T15:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=6c0117168e4411e108e93b0861f23a533481e136'/>
<id>6c0117168e4411e108e93b0861f23a533481e136</id>
<content type='text'>
The number of stick-counter entries usable by track-sc rules is currently
set at build time. There is no good value for this since the vast majority
of users don't need any, most need only a few and rare users need more.
Adding more counters for everyone increases memory and CPU usages for no
reason.

This patch moves the per-session and per-stream arrays to a pool of a size
defined at boot time. This way it becomes possible to set the number of
entries at boot time via a new global setting "tune.stick-counters" that
sets the limit for the whole process. When not set, the MAX_SESS_STR_CTR
value still applies, or 3 if not set, as before.

It is also possible to lower the value to 0 to save a bit of memory if
not used at all.

Note that a few low-level sample-fetch functions had to be protected due
to the ability to use sample-fetches in the global section to set some
variables.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The number of stick-counter entries usable by track-sc rules is currently
set at build time. There is no good value for this since the vast majority
of users don't need any, most need only a few and rare users need more.
Adding more counters for everyone increases memory and CPU usages for no
reason.

This patch moves the per-session and per-stream arrays to a pool of a size
defined at boot time. This way it becomes possible to set the number of
entries at boot time via a new global setting "tune.stick-counters" that
sets the limit for the whole process. When not set, the MAX_SESS_STR_CTR
value still applies, or 3 if not set, as before.

It is also possible to lower the value to 0 to save a bit of memory if
not used at all.

Note that a few low-level sample-fetch functions had to be protected due
to the ability to use sample-fetches in the global section to set some
variables.
</pre>
</div>
</content>
</entry>
<entry>
<title>BUG/MINOR: backend: only enforce turn-around state when not redispatching</title>
<updated>2022-10-03T13:04:55+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-10-03T12:56:34+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=406efb96d135efe1d5a85bf58c589f7b6dbd8c70'/>
<id>406efb96d135efe1d5a85bf58c589f7b6dbd8c70</id>
<content type='text'>
In github issue #1878, Bart Butler reported observing turn-around states
(1 second pause) after connection retries going to different servers,
while this ought not happen.

In fact it does happen because back_handle_st_cer() enforces the TAR
state for any algo that's not round-robin. This means that even leastconn
has it, as well as hashes after the number of servers changed.

Prior to doing that, the call to stream_choose_redispatch() has already
had a chance to perform the correct choice and to check the algo and
the number of retries left. So instead we should just let that function
deal with the algo when needed (and focus on deterministic ones), and
let the former just obey. Bart confirmed that the fixed version works
as expected (no more delays during retries).

This may be backported to older releases, though it doesn't seem very
important. At least Bart would like to have it in 2.4 so let's go there
for now after it has cooked a few weeks in 2.6.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In github issue #1878, Bart Butler reported observing turn-around states
(1 second pause) after connection retries going to different servers,
while this ought not happen.

In fact it does happen because back_handle_st_cer() enforces the TAR
state for any algo that's not round-robin. This means that even leastconn
has it, as well as hashes after the number of servers changed.

Prior to doing that, the call to stream_choose_redispatch() has already
had a chance to perform the correct choice and to check the algo and
the number of retries left. So instead we should just let that function
deal with the algo when needed (and focus on deterministic ones), and
let the former just obey. Bart confirmed that the fixed version works
as expected (no more delays during retries).

This may be backported to older releases, though it doesn't seem very
important. At least Bart would like to have it in 2.4 so let's go there
for now after it has cooked a few weeks in 2.6.
</pre>
</div>
</content>
</entry>
<entry>
<title>CLEANUP: stream: rename stream_upgrade_from_cs() to stream_upgrade_from_sc()</title>
<updated>2022-05-27T17:33:35+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-27T09:11:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=df1a2fc234388e61749f59ab652ad06ef78d961c'/>
<id>df1a2fc234388e61749f59ab652ad06ef78d961c</id>
<content type='text'>
It upgrades the protocol on a stream connector, let's update the name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It upgrades the protocol on a stream connector, let's update the name.
</pre>
</div>
</content>
</entry>
<entry>
<title>CLEANUP: stream: rename all occurrences of stconn "cs" to "sc"</title>
<updated>2022-05-27T17:33:35+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-27T08:13:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=b49672d21f779d9bdf548a13bb544e4f88d7b3ad'/>
<id>b49672d21f779d9bdf548a13bb544e4f88d7b3ad</id>
<content type='text'>
Function arguments and local variables called "cs" were renamed to "sc"
to avoid future confusion. The HTTP analyser and the backend functions
were all updated after being reviewed. Function stream_update_both_cs()
was renamed to stream_update_both_sc()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Function arguments and local variables called "cs" were renamed to "sc"
to avoid future confusion. The HTTP analyser and the backend functions
were all updated after being reviewed. Function stream_update_both_cs()
was renamed to stream_update_both_sc()
</pre>
</div>
</content>
</entry>
<entry>
<title>REORG: stconn: rename conn_stream.{c,h} to stconn.{c,h}</title>
<updated>2022-05-27T17:33:35+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-27T07:47:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=cb086c6de149463d7040940c25ef1077ab26fe5b'/>
<id>cb086c6de149463d7040940c25ef1077ab26fe5b</id>
<content type='text'>
There's no more reason for keepin the code and definitions in conn_stream,
let's move all that to stconn. The alphabetical ordering of include files
was adjusted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's no more reason for keepin the code and definitions in conn_stream,
let's move all that to stconn. The alphabetical ordering of include files
was adjusted.
</pre>
</div>
</content>
</entry>
<entry>
<title>CLEANUP: stconn: tree-wide rename stconn states CS_ST/SB_* to SC_ST/SB_*</title>
<updated>2022-05-27T17:33:34+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-17T17:47:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=026e8fb290c34eba20c5d283a61d664cf678785b'/>
<id>026e8fb290c34eba20c5d283a61d664cf678785b</id>
<content type='text'>
This also follows the natural naming. There are roughly 238 changes, all
totally trivial. conn_stream-t.h has become completely void of any
"conn_stream" related stuff now (except its name).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also follows the natural naming. There are roughly 238 changes, all
totally trivial. conn_stream-t.h has become completely void of any
"conn_stream" related stuff now (except its name).
</pre>
</div>
</content>
</entry>
<entry>
<title>CLEANUP: stream: rename "csf" and "csb" to "scf" and "scb"</title>
<updated>2022-05-27T17:33:34+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-17T17:40:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=7cb9e6c6ba5fd264e43cc963a72594809e8af38f'/>
<id>7cb9e6c6ba5fd264e43cc963a72594809e8af38f</id>
<content type='text'>
These are the stream connectors, let's give them consistent names. The
patch is large (405 locations) but totally trivial.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are the stream connectors, let's give them consistent names. The
patch is large (405 locations) but totally trivial.
</pre>
</div>
</content>
</entry>
<entry>
<title>CLEANUP: conn_stream: tree-wide rename to stconn (stream connector)</title>
<updated>2022-05-27T17:33:34+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2022-05-17T17:07:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/haproxy.git/commit/?id=4596fe20d94834f925691c04a538091ac741d900'/>
<id>4596fe20d94834f925691c04a538091ac741d900</id>
<content type='text'>
This renames the "struct conn_stream" to "struct stconn" and updates
the descriptions in all comments (and the rare help descriptions) to
"stream connector" or "connector". This touches a lot of files but
the change is minimal. The local variables were not even renamed, so
there's still a lot of "cs" everywhere.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This renames the "struct conn_stream" to "struct stconn" and updates
the descriptions in all comments (and the rare help descriptions) to
"stream connector" or "connector". This touches a lot of files but
the change is minimal. The local variables were not even renamed, so
there's still a lot of "cs" everywhere.
</pre>
</div>
</content>
</entry>
</feed>
