MEDIUM: stream-int: introduce a new state SI_ST_RDY

The main reason for all the trouble we're facing with stream interface
error or timeout reports during the connection phase is that we currently
can't make the difference between a connection attempt and a validated
connection attempt. It is problematic because we tend to switch early
to SI_ST_EST but can't always do what we want in this state since it's
supposed to be set when we don't need to visit sess_establish() again.

This patch introduces a new state betwen SI_ST_CON and SI_ST_EST, which
is SI_ST_RDY. It indicates that we've verified that the connection is
ready. It's a transient state, like SI_ST_DIS, that cannot persist when
leaving process_stream(). For now it is not set, only verified in various
tests where SI_ST_CON was used or SI_ST_EST depending on the cases.

The stream-int state diagram was minimally updated to reflect the new
state, though it is largely obsolete and would need to be seriously
updated.
This commit is contained in:
Willy Tarreau 2019-06-05 14:34:03 +02:00
parent 7ab22adbf7
commit 4f283fa604
6 changed files with 311 additions and 200 deletions

View File

@ -1,8 +1,8 @@
#FIG 3.2
#FIG 3.2 Produced by xfig version 3.2.7a
Portrait
Center
Metric
A4
A4
100.00
Single
-2
@ -10,217 +10,200 @@ Single
0 32 #8e8e8e
6 2295 1260 2430 1395
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 1328 68 68 2430 1328 2295 1328
4 1 0 50 -1 18 5 0.0000 4 60 45 2363 1361 1\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2363 1361 1\001
-6
6 1845 2295 1980 2430
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1913 2363 68 68 1980 2363 1845 2363
4 1 0 50 -1 18 5 0.0000 4 60 45 1913 2396 2\001
4 1 0 50 -1 18 5 0.0000 4 60 60 1913 2396 2\001
-6
6 2475 2340 2610 2475
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2543 2408 68 68 2610 2408 2475 2408
4 1 0 50 -1 18 5 0.0000 4 60 45 2543 2441 9\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2543 2441 9\001
-6
6 2835 2610 2970 2745
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2903 2678 68 68 2970 2678 2835 2678
4 1 0 50 -1 18 5 0.0000 4 60 45 2903 2711 7\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2903 2711 7\001
-6
6 3195 2025 3330 2160
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 3263 2093 68 68 3330 2093 3195 2093
4 1 0 50 -1 18 5 0.0000 4 60 45 3263 2126 8\001
4 1 0 50 -1 18 5 0.0000 4 60 60 3263 2126 8\001
-6
6 2745 2160 2880 2295
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2813 2228 68 68 2880 2228 2745 2228
4 1 0 50 -1 18 5 0.0000 4 60 45 2813 2261 6\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2813 2261 6\001
-6
6 990 2700 1125 2835
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1058 2768 68 68 1125 2768 990 2768
4 1 0 50 -1 18 5 0.0000 4 60 90 1058 2801 13\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1058 2801 13\001
-6
6 1305 2970 1440 3105
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1373 3038 68 68 1440 3038 1305 3038
4 1 0 50 -1 18 5 0.0000 4 60 90 1373 3071 12\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1373 3071 12\001
-6
6 3105 1710 3240 1845
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 3173 1778 68 68 3240 1778 3105 1778
4 1 0 50 -1 18 5 0.0000 4 60 90 3173 1811 15\001
4 1 0 50 -1 18 5 0.0000 4 60 120 3173 1811 15\001
-6
6 4275 1260 4410 1395
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 1328 68 68 4410 1328 4275 1328
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 1361 1\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 1361 1\001
-6
6 4275 1440 4410 1575
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 1508 68 68 4410 1508 4275 1508
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 1541 2\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 1541 2\001
-6
6 4275 1620 4410 1755
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 1688 68 68 4410 1688 4275 1688
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 1721 3\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 1721 3\001
-6
6 4275 1800 4410 1935
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 1868 68 68 4410 1868 4275 1868
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 1901 4\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 1901 4\001
-6
6 3240 2835 3375 2970
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 3308 2903 68 68 3375 2903 3240 2903
4 1 0 50 -1 18 5 0.0000 4 60 90 3308 2936 16\001
4 1 0 50 -1 18 5 0.0000 4 60 120 3308 2936 16\001
-6
6 2835 3015 2970 3150
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2903 3083 68 68 2970 3083 2835 3083
4 1 0 50 -1 18 5 0.0000 4 60 90 2903 3116 17\001
4 1 0 50 -1 18 5 0.0000 4 60 120 2903 3116 17\001
-6
6 2295 3195 2430 3330
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 3263 68 68 2430 3263 2295 3263
4 1 0 50 -1 18 5 0.0000 4 60 45 2363 3296 3\001
-6
6 2295 4815 2430 4950
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 4883 68 68 2430 4883 2295 4883
4 1 0 50 -1 18 5 0.0000 4 60 45 2363 4916 5\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2363 3296 3\001
-6
6 1440 4815 1620 4995
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1508 4883 68 68 1575 4883 1440 4883
4 1 0 50 -1 18 5 0.0000 4 60 90 1508 4916 19\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1508 4916 19\001
-6
6 1800 3960 1980 4140
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1868 4028 68 68 1935 4028 1800 4028
4 1 0 50 -1 18 5 0.0000 4 60 90 1868 4061 18\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1868 4061 18\001
-6
6 4275 1980 4410 2115
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 2048 68 68 4410 2048 4275 2048
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 2081 5\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 2081 5\001
-6
6 4275 2340 4410 2475
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 2408 68 68 4410 2408 4275 2408
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 2441 6\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 2441 6\001
-6
6 4275 2520 4410 2655
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 2588 68 68 4410 2588 4275 2588
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 2621 7\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 2621 7\001
-6
6 4275 2700 4410 2835
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 2768 68 68 4410 2768 4275 2768
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 2801 8\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 2801 8\001
-6
6 4275 2880 4410 3015
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 2948 68 68 4410 2948 4275 2948
4 1 0 50 -1 18 5 0.0000 4 60 45 4343 2981 9\001
4 1 0 50 -1 18 5 0.0000 4 60 60 4343 2981 9\001
-6
6 4275 3060 4410 3195
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 3128 68 68 4410 3128 4275 3128
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 3161 10\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 3161 10\001
-6
6 4275 3240 4410 3375
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 3308 68 68 4410 3308 4275 3308
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 3341 11\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 3341 11\001
-6
6 4275 3420 4410 3555
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 3488 68 68 4410 3488 4275 3488
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 3521 12\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 3521 12\001
-6
6 4275 3600 4410 3735
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 3668 68 68 4410 3668 4275 3668
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 3701 13\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 3701 13\001
-6
6 4275 3960 4410 4095
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 4028 68 68 4410 4028 4275 4028
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 4061 15\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 4061 15\001
-6
6 4275 4140 4410 4275
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 4208 68 68 4410 4208 4275 4208
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 4241 16\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 4241 16\001
-6
6 4275 4320 4410 4455
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 4388 68 68 4410 4388 4275 4388
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 4421 17\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 4421 17\001
-6
6 4275 3780 4455 3960
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 3848 68 68 4410 3848 4275 3848
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 3881 14\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 3881 14\001
-6
6 4275 4590 4455 4770
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 4658 68 68 4410 4658 4275 4658
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 4691 18\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 4691 18\001
-6
6 4275 4770 4455 4950
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 4838 68 68 4410 4838 4275 4838
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 4871 19\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 4871 19\001
-6
6 4275 4950 4455 5130
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 5018 68 68 4410 5018 4275 5018
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 5051 20\001
-6
6 2295 5670 2475 5850
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 5738 68 68 2430 5738 2295 5738
4 1 0 50 -1 18 5 0.0000 4 60 90 2363 5771 20\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 5051 20\001
-6
6 1170 3690 1350 3870
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1238 3758 68 68 1305 3758 1170 3758
4 1 0 50 -1 18 5 0.0000 4 60 90 1238 3791 11\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1238 3791 11\001
-6
6 1530 3555 1710 3735
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 1598 3623 68 68 1665 3623 1530 3623
4 1 0 50 -1 18 5 0.0000 4 60 90 1598 3656 10\001
4 1 0 50 -1 18 5 0.0000 4 60 120 1598 3656 10\001
-6
6 720 4095 900 4275
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 788 4163 68 68 855 4163 720 4163
4 1 0 50 -1 18 5 0.0000 4 60 90 788 4196 14\001
4 1 0 50 -1 18 5 0.0000 4 60 120 788 4196 14\001
-6
6 855 3645 1035 3825
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 923 3713 68 68 990 3713 855 3713
4 1 0 50 -1 18 5 0.0000 4 60 90 923 3746 21\001
4 1 0 50 -1 18 5 0.0000 4 60 120 923 3746 21\001
-6
6 4275 5130 4455 5310
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 5198 68 68 4410 5198 4275 5198
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 5231 21\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 5231 21\001
-6
6 2295 4140 2430 4275
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 4208 68 68 2430 4208 2295 4208
4 1 0 50 -1 18 5 0.0000 4 60 45 2363 4241 4\001
4 1 0 50 -1 18 5 0.0000 4 60 60 2363 4241 4\001
-6
6 2475 3870 2655 4050
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2543 3938 68 68 2610 3938 2475 3938
4 1 0 50 -1 18 5 0.0000 4 60 90 2543 3971 22\001
4 1 0 50 -1 18 5 0.0000 4 60 120 2543 3971 22\001
-6
6 4275 5310 4455 5490
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 4343 5378 68 68 4410 5378 4275 5378
4 1 0 50 -1 18 5 0.0000 4 60 90 4343 5411 22\001
4 1 0 50 -1 18 5 0.0000 4 60 120 4343 5411 22\001
-6
6 2295 5625 2430 5760
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 5693 68 68 2430 5693 2295 5693
4 1 0 50 -1 18 5 0.0000 4 60 60 2363 5726 5\001
-6
6 2295 6480 2475 6660
1 4 0 1 0 7 50 -1 -1 0.000 1 0.0000 2363 6548 68 68 2430 6548 2295 6548
4 1 0 50 -1 18 5 0.0000 4 60 120 2363 6581 20\001
-6
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 1350 4612 225 112 1125 4612 1575 4612
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 2250 5422 225 112 2025 5422 2475 5422
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 2250 1912 225 112 2025 1912 2475 1912
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 1125 3487 225 112 900 3487 1350 3487
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 3712 225 112 2025 3712 2475 3712
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 4612 225 112 2025 4612 2475 4612
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 6187 225 112 2025 6187 2475 6187
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 2250 2812 225 112 2025 2812 2475 2812
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 3375 2362 225 112 3150 2362 3600 2362
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 1012 225 112 2025 1012 2475 1012
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 2250 6232 225 112 2025 6232 2475 6232
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 5422 225 112 2025 5422 2475 5422
1 2 0 1 0 7 50 -1 20 0.000 1 0.0000 2250 6997 225 112 2025 6997 2475 6997
1 2 0 1 0 6 50 -1 20 0.000 1 0.0000 2250 4587 225 112 2025 4587 2475 4587
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
2250 1125 2250 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
2250 4725 2250 5310
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
2250 5535 2250 6075
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 5805 4500 5805
8910 5805 4500 5805
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6885 5900 6930 5990 6975 5810
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7605 5890 7650 5980 7695 5800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 6030 4500 6030
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 6255 4500 6255
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 6480 4500 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
6885 6570 6930 6660 6975 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7605 6570 7650 6660 7695 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7965 6570 8010 6660 8055 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5310 5589 5310 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
@ -233,22 +216,130 @@ Single
6750 5589 6750 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7110 5589 7110 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7470 5589 7470 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7830 5589 7830 6921
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4950 5589 4950 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8190 5589 8190 6921
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 5580 8550 5580 8550 6930 4500 6930 4500 5580
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 6705 4500 6705
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 4
8910 6705 4500 6705
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
2475 2835 3150 3375 3150 5625 2475 6120
0.000 1.000 1.000 0.000
2250 5535 2250 6120
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 1.00 60.00 120.00
2250 6345 2250 6885
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 5580 8910 5580 8910 6930 4500 6930 4500 5580
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 5580 8910 5580 8910 6930 4500 6930 4500 5580
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8910 6030 4500 6030
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8910 6255 4500 6255
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8910 6480 4500 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5310 5589 5310 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5670 5589 5670 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6030 5589 6030 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6390 5589 6390 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 5589 6750 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7110 5589 7110 6921
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4950 5589 4950 6921
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 5580 8910 5580 8910 6930 4500 6930 4500 5580
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 5805 4500 5805
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6030 4500 6030
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6255 4500 6255
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6480 4500 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5310 5589 5310 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5670 5589 5670 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6030 5589 6030 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6390 5589 6390 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 5589 6750 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7110 5589 7110 6921
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4950 5589 4950 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6705 4500 6705
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 5805 4500 5805
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6030 4500 6030
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6255 4500 6255
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6480 4500 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5310 5589 5310 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5670 5589 5670 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6030 5589 6030 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6390 5589 6390 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 5589 6750 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7110 5589 7110 6921
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4950 5589 4950 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8865 6705 4500 6705
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7605 5890 7650 5980 7695 5800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7605 6570 7650 6660 7695 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7470 5589 7470 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7965 5890 8010 5980 8055 5800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7965 6570 8010 6660 8055 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7830 5589 7830 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
8325 6570 8370 6660 8415 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8190 5589 8190 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 5589 8550 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8190 5589 8190 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 5589 8550 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8190 5589 8190 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 5589 8550 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8190 5589 8190 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 5589 8550 6921
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
4500 5805
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
4500 6030
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
4500 6255
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
4500 6480
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 1
4500 6705
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
2250 2700 2475 2475 2475 2250 2250 2025
@ -322,109 +413,123 @@ Single
1 1 1.00 60.00 120.00
2340 3825 2385 4005 2925 4275 2655 4815 2295 5310
0.000 1.000 1.000 1.000 0.000
4 0 0 50 -1 14 6 0.0000 4 75 2880 4500 1710 ASS-CON: ssui(): connect_server() == SN_ERR_NONE\001
4 0 0 50 -1 14 6 0.0000 4 60 540 4500 1350 INI-REQ: \001
4 0 0 50 -1 14 6 0.0000 4 75 3720 4500 1530 REQ-ASS: prepare_conn_request(): srv_redispatch_connect() == 0\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2475 2700 4\001
4 0 4 50 -1 14 10 0.0000 4 90 90 1620 4500 6\001
4 0 0 50 -1 14 6 0.0000 4 75 3360 4500 1890 CON-EST: sess_update_st_con_tcp(): !timeout && !conn_err\001
4 0 0 50 -1 14 6 0.0000 4 75 2460 4500 3510 TAR-ASS: ssui(): SI_FL_EXP && SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 75 3420 4500 2970 ASS-REQ: connect_server: conn_retries == 0 && PR_O_REDISP\001
4 0 0 50 -1 14 6 0.0000 4 75 2460 4500 2610 QUE-REQ: ssui(): !pend_pos && SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 75 2520 4500 2790 QUE-REQ: ssui(): !pend_pos && !SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 75 3300 4500 4230 QUE-CLO: ssui(): pend_pos && (SI_FL_EXP || req_aborted)\001
4 0 0 50 -1 14 6 0.0000 4 75 2520 4500 3690 TAR-REQ: ssui(): SI_FL_EXP && !SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 75 3960 4500 4545 ASS-CLO: PR_O_REDISP && SN_REDIRECTABLE && perform_http_redirect()\001
4 0 0 50 -1 14 6 0.0000 4 75 4440 4500 2430 REQ-QUE: prepare_conn_request(): srv_redispatch_connect() != 0 (SI_ST_QUE)\001
4 0 0 50 -1 14 6 0.0000 4 75 4200 4500 4050 REQ-CLO: prepare_conn_request(): srv_redispatch_connect() != 0 (error)\001
4 0 0 50 -1 14 6 0.0000 4 75 4320 4500 4410 ASS-CLO: ssui(): connect_server() == SN_ERR_INTERNAL || conn_retries < 0\001
4 0 0 50 -1 14 6 0.0000 4 75 3120 4500 4680 CON-CER: sess_update_st_con_tcp(): timeout/SI_FL_ERR\001
4 0 0 50 -1 14 6 0.0000 4 75 3600 4500 4860 CER-CLO: sess_update_st_cer(): (ERR/EXP) && conn_retries < 0\001
4 0 0 50 -1 14 6 0.0000 4 75 4200 4500 3870 CER-REQ: sess_update_st_cer(): timeout && !conn_retries && PR_O_REDISP\001
4 0 0 50 -1 14 6 0.0000 4 75 3600 4500 3330 CER-TAR: sess_update_st_cer(): conn_err && conn_retries >= 0\001
4 0 0 50 -1 14 6 0.0000 4 75 4620 4500 3150 CER-ASS: sess_update_st_cer(): timeout && (conn_retries >= 0 || !PR_O_REDISP)\001
4 0 4 50 -1 14 10 0.0000 4 90 90 1305 3375 3\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2430 4500 7\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2430 3600 5\001
4 0 4 50 -1 14 10 0.0000 4 90 90 3555 2250 2\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2430 1800 1\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2430 900 0\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2430 5310 8\001
4 0 0 50 -1 14 6 0.0000 4 75 3000 4500 2070 EST-DIS: stream_sock_read/write/shutr/shutw: close\001
4 0 0 50 -1 14 6 0.0000 4 75 1980 4500 2250 EST-DIS: process_session(): error\001
4 0 0 50 -1 14 6 0.0000 4 75 2100 4500 5040 DIS-CLO: process_session(): cleanup\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 5490 DIS\001
4 1 0 50 -1 14 10 0.0000 4 90 270 1350 4680 CER\001
4 1 0 50 -1 14 10 0.0000 4 105 270 2250 1980 REQ\001
4 1 0 50 -1 14 10 0.0000 4 90 270 1125 3555 TAR\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 2880 ASS\001
4 1 0 50 -1 14 10 0.0000 4 105 270 3375 2430 QUE\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 3780 CON\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 4680 EST\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 6255 CLO\001
4 1 0 50 -1 14 10 0.0000 4 90 270 2250 1080 INI\001
4 0 0 50 -1 14 6 0.0000 4 75 2820 4500 5220 TAR-CLO: sess_update_stream_int(): client abort\001
4 0 4 50 -1 14 10 0.0000 4 90 90 2385 6075 9\001
4 0 0 50 -1 14 6 0.0000 4 75 2820 4500 5400 CON-DIS: sess_update_st_con_tcp(): client abort\001
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
2475 2835 3150 3375 3150 5625 2475 6120
0.000 1.000 1.000 0.000
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
2250 4725 2250 5310
0.000 0.000
4 0 0 50 -1 14 6 0.0000 4 105 2880 4500 1710 ASS-CON: ssui(): connect_server() == SN_ERR_NONE\001
4 0 0 50 -1 14 6 0.0000 4 90 540 4500 1350 INI-REQ: \001
4 0 0 50 -1 14 6 0.0000 4 120 3720 4500 1530 REQ-ASS: prepare_conn_request(): srv_redispatch_connect() == 0\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2475 2700 4\001
4 0 4 50 -1 14 10 0.0000 4 105 105 1620 4500 6\001
4 0 0 50 -1 14 6 0.0000 4 120 3360 4500 1890 CON-EST: sess_update_st_con_tcp(): !timeout && !conn_err\001
4 0 0 50 -1 14 6 0.0000 4 105 2460 4500 3510 TAR-ASS: ssui(): SI_FL_EXP && SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 105 3420 4500 2970 ASS-REQ: connect_server: conn_retries == 0 && PR_O_REDISP\001
4 0 0 50 -1 14 6 0.0000 4 120 2460 4500 2610 QUE-REQ: ssui(): !pend_pos && SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 120 2520 4500 2790 QUE-REQ: ssui(): !pend_pos && !SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 120 3300 4500 4230 QUE-CLO: ssui(): pend_pos && (SI_FL_EXP || req_aborted)\001
4 0 0 50 -1 14 6 0.0000 4 105 2520 4500 3690 TAR-REQ: ssui(): SI_FL_EXP && !SN_ASSIGNED\001
4 0 0 50 -1 14 6 0.0000 4 120 3960 4500 4545 ASS-CLO: PR_O_REDISP && SN_REDIRECTABLE && perform_http_redirect()\001
4 0 0 50 -1 14 6 0.0000 4 120 4440 4500 2430 REQ-QUE: prepare_conn_request(): srv_redispatch_connect() != 0 (SI_ST_QUE)\001
4 0 0 50 -1 14 6 0.0000 4 120 4200 4500 4050 REQ-CLO: prepare_conn_request(): srv_redispatch_connect() != 0 (error)\001
4 0 0 50 -1 14 6 0.0000 4 105 4320 4500 4410 ASS-CLO: ssui(): connect_server() == SN_ERR_INTERNAL || conn_retries < 0\001
4 0 0 50 -1 14 6 0.0000 4 120 3120 4500 4680 CON-CER: sess_update_st_con_tcp(): timeout/SI_FL_ERR\001
4 0 0 50 -1 14 6 0.0000 4 120 3600 4500 4860 CER-CLO: sess_update_st_cer(): (ERR/EXP) && conn_retries < 0\001
4 0 0 50 -1 14 6 0.0000 4 120 4200 4500 3870 CER-REQ: sess_update_st_cer(): timeout && !conn_retries && PR_O_REDISP\001
4 0 0 50 -1 14 6 0.0000 4 120 3600 4500 3330 CER-TAR: sess_update_st_cer(): conn_err && conn_retries >= 0\001
4 0 0 50 -1 14 6 0.0000 4 120 4620 4500 3150 CER-ASS: sess_update_st_cer(): timeout && (conn_retries >= 0 || !PR_O_REDISP)\001
4 0 4 50 -1 14 10 0.0000 4 105 105 1305 3375 3\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2430 3600 5\001
4 0 4 50 -1 14 10 0.0000 4 105 105 3555 2250 2\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2430 1800 1\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2430 900 0\001
4 0 0 50 -1 14 6 0.0000 4 105 3000 4500 2070 EST-DIS: stream_sock_read/write/shutr/shutw: close\001
4 0 0 50 -1 14 6 0.0000 4 120 1980 4500 2250 EST-DIS: process_session(): error\001
4 0 0 50 -1 14 6 0.0000 4 120 2100 4500 5040 DIS-CLO: process_session(): cleanup\001
4 1 0 50 -1 14 10 0.0000 4 105 315 1350 4680 CER\001
4 1 0 50 -1 14 10 0.0000 4 135 315 2250 1980 REQ\001
4 1 0 50 -1 14 10 0.0000 4 105 315 1125 3555 TAR\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 2880 ASS\001
4 1 0 50 -1 14 10 0.0000 4 135 315 3375 2430 QUE\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 3780 CON\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 1080 INI\001
4 0 0 50 -1 14 6 0.0000 4 120 2820 4500 5220 TAR-CLO: sess_update_stream_int(): client abort\001
4 0 0 50 -1 14 6 0.0000 4 120 2820 4500 5400 CON-DIS: sess_update_st_con_tcp(): client abort\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5130 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5490 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5850 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 6210 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 6570 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 7290 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8010 5985 -\001
4 1 0 50 -1 16 7 0.0000 4 75 90 4725 5985 fd\001
4 1 0 50 -1 14 8 0.0000 4 75 225 5130 5760 INI\001
4 1 0 50 -1 16 7 0.0000 4 75 240 4725 5760 state\001
4 1 0 50 -1 14 8 0.0000 4 90 225 5490 5760 REQ\001
4 1 0 50 -1 14 8 0.0000 4 90 225 5850 5760 QUE\001
4 1 0 50 -1 14 8 0.0000 4 75 225 6210 5760 TAR\001
4 1 0 50 -1 14 8 0.0000 4 75 225 6570 5760 ASS\001
4 1 0 50 -1 14 8 0.0000 4 75 225 6930 5760 CON\001
4 1 0 50 -1 14 8 0.0000 4 75 225 7290 5760 CER\001
4 1 0 50 -1 14 8 0.0000 4 75 225 7650 5760 EST\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8010 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5850 6210 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5130 6210 0\001
4 1 0 50 -1 16 7 0.0000 4 75 225 4725 6210 ERR\001
4 1 0 50 -1 16 7 0.0000 4 75 225 4725 6435 EXP\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8010 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5490 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6210 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6570 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6570 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5490 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5130 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5850 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6210 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 7290 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6930 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 7290 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6930 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 7650 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 7650 6435 X\001
4 1 0 50 -1 16 7 0.0000 4 60 240 4725 6660 sess\001
4 1 0 50 -1 14 8 0.0000 4 75 225 8370 5760 CLO\001
4 1 0 50 -1 14 8 0.0000 4 75 225 8010 5760 DIS\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8370 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8370 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8370 6435 X\001
4 1 0 50 -1 16 7 0.0000 4 105 120 4725 5985 fd\001
4 1 0 50 -1 14 8 0.0000 4 90 225 5130 5760 INI\001
4 1 0 50 -1 16 7 0.0000 4 105 270 4725 5760 state\001
4 1 0 50 -1 14 8 0.0000 4 120 225 5490 5760 REQ\001
4 1 0 50 -1 14 8 0.0000 4 120 225 5850 5760 QUE\001
4 1 0 50 -1 14 8 0.0000 4 90 225 6210 5760 TAR\001
4 1 0 50 -1 14 8 0.0000 4 90 225 6570 5760 ASS\001
4 1 0 50 -1 14 8 0.0000 4 90 225 6930 5760 CON\001
4 1 0 50 -1 14 8 0.0000 4 90 225 7290 5760 CER\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5850 6210 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5130 6210 0\001
4 1 0 50 -1 16 7 0.0000 4 90 270 4725 6210 ERR\001
4 1 0 50 -1 16 7 0.0000 4 90 270 4725 6435 EXP\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5490 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6210 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6570 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6570 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5490 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5130 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5850 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6210 6435 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 7290 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6930 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 7290 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6930 6210 X\001
4 1 0 50 -1 16 7 0.0000 4 75 240 4725 6660 sess\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5130 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5490 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 5850 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 6210 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 6570 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 7290 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8370 6660 -\001
4 0 0 50 -1 16 6 0.0000 4 90 5010 675 7335 Note: states painted yellow above are transient ; process_session() will never leave a stream interface in any of those upon return.\001
4 1 0 50 -1 16 7 0.0000 4 75 285 4725 6840 SHUT\001
4 1 0 50 -1 14 8 0.0000 4 75 75 7650 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8010 6840 1\001
4 1 0 50 -1 14 8 0.0000 4 75 75 8370 6840 1\001
4 0 0 50 -1 16 6 0.0000 4 120 5970 675 7335 Note: states painted yellow above are transient ; process_session() will never leave a stream interface in any of those upon return.\001
4 1 0 50 -1 16 7 0.0000 4 90 330 4725 6840 SHUT\001
4 1 0 50 -1 14 8 0.0000 4 15 75 7290 6840 -\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6930 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6570 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 6210 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5850 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5490 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 75 75 5130 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6930 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6570 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 6210 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5850 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5490 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 75 5130 6840 0\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 6300 DIS\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 5490 EST\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 7065 CLO\001
4 1 0 50 -1 14 10 0.0000 4 105 315 2250 4635 RDY\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2430 4455 7\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2430 5310 8\001
4 0 4 50 -1 14 10 0.0000 4 105 105 2385 6120 9\001
4 0 4 50 -1 14 10 0.0000 4 105 210 2385 6840 10\001
4 1 0 50 -1 14 8 0.0000 4 90 75 7650 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 7650 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 7650 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 90 225 8010 5760 EST\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8010 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8010 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8010 6840 0\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8370 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8370 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8370 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 90 225 8730 5760 CLO\001
4 1 0 50 -1 14 8 0.0000 4 90 225 8370 5760 DIS\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8730 5985 -\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8730 6210 X\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8730 6435 X\001
4 1 0 50 -1 14 8 0.0000 4 15 75 8730 6660 -\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8370 6840 1\001
4 1 0 50 -1 14 8 0.0000 4 90 75 8730 6840 1\001
4 1 0 50 -1 14 8 0.0000 4 90 225 7650 5760 RDY\001

View File

@ -448,13 +448,13 @@ static inline void si_must_kill_conn(struct stream_interface *si)
*/
static inline void si_chk_rcv(struct stream_interface *si)
{
if (si->flags & SI_FL_RXBLK_CONN && si_state_in(si_opposite(si)->state, SI_SB_EST|SI_SB_DIS|SI_SB_CLO))
if (si->flags & SI_FL_RXBLK_CONN && si_state_in(si_opposite(si)->state, SI_SB_RDY|SI_SB_EST|SI_SB_DIS|SI_SB_CLO))
si_rx_conn_rdy(si);
if (si_rx_blocked(si) || !si_rx_endp_ready(si))
return;
if (!si_state_in(si->state, SI_SB_EST))
if (!si_state_in(si->state, SI_SB_RDY|SI_SB_EST))
return;
si->flags |= SI_FL_RX_WAIT_EP;
@ -472,7 +472,7 @@ static inline int si_sync_recv(struct stream_interface *si)
{
struct conn_stream *cs;
if (!si_state_in(si->state, SI_SB_EST))
if (!si_state_in(si->state, SI_SB_RDY|SI_SB_EST))
return 0;
cs = objt_cs(si->end);
@ -552,6 +552,7 @@ static inline const char *si_state_str(int state)
case SI_ST_ASS: return "ASS";
case SI_ST_CON: return "CON";
case SI_ST_CER: return "CER";
case SI_ST_RDY: return "RDY";
case SI_ST_EST: return "EST";
case SI_ST_DIS: return "DIS";
case SI_ST_CLO: return "CLO";

View File

@ -38,6 +38,7 @@ enum si_state {
SI_ST_ASS, /* server just assigned to this interface */
SI_ST_CON, /* initiated connection request (resource exists) */
SI_ST_CER, /* [transient] previous connection attempt failed (resource released) */
SI_ST_RDY, /* [transient] ready proven after I/O success during SI_ST_CON */
SI_ST_EST, /* connection established (resource exists) */
SI_ST_DIS, /* [transient] disconnected from other side, but cleanup not done yet */
SI_ST_CLO, /* stream intf closed, might not existing anymore. Buffers shut. */
@ -53,10 +54,11 @@ enum si_state_bit {
SI_SB_ASS = 1U << SI_ST_ASS,
SI_SB_CON = 1U << SI_ST_CON,
SI_SB_CER = 1U << SI_ST_CER,
SI_SB_RDY = 1U << SI_ST_RDY,
SI_SB_EST = 1U << SI_ST_EST,
SI_SB_DIS = 1U << SI_ST_DIS,
SI_SB_CLO = 1U << SI_ST_CLO,
SI_SB_ALL = SI_SB_INI|SI_SB_REQ|SI_SB_QUE|SI_SB_TAR|SI_SB_ASS|SI_SB_CON|SI_SB_CER|SI_SB_EST|SI_SB_DIS|SI_SB_CLO,
SI_SB_ALL = SI_SB_INI|SI_SB_REQ|SI_SB_QUE|SI_SB_TAR|SI_SB_ASS|SI_SB_CON|SI_SB_CER|SI_SB_RDY|SI_SB_EST|SI_SB_DIS|SI_SB_CLO,
};
/* error types reported on the streams interface for more accurate reporting */

View File

@ -1347,7 +1347,7 @@ spoe_handle_connect_appctx(struct appctx *appctx)
goto exit;
}
if (!si_state_in(si->state, SI_SB_EST)) {
if (!si_state_in(si->state, SI_SB_RDY|SI_SB_EST)) {
/* not connected yet */
si_rx_endp_more(si);
task_wakeup(si_strm(si)->task, TASK_WOKEN_MSG);

View File

@ -649,7 +649,7 @@ void stream_process_counters(struct stream *s)
}
}
/* This function is called with (si->state == SI_ST_CON) meaning that a
/* This function is called with (si->state == SI_ST_CON|SI_ST_RDY) meaning that a
* connection was attempted and that the file descriptor is already allocated.
* We must check for establishment, error and abort. Possible output states
* are SI_ST_EST (established), SI_ST_CER (error), SI_ST_DIS (abort), and
@ -880,7 +880,7 @@ static int sess_update_st_cer(struct stream *s)
/*
* This function handles the transition between the SI_ST_CON state and the
* SI_ST_EST state. It must only be called after switching from SI_ST_CON (or
* SI_ST_INI) to SI_ST_EST, but only when a ->proto is defined.
* SI_ST_INI or SI_ST_RDY) to SI_ST_EST, but only when a ->proto is defined.
* Note that it will switch the interface to SI_ST_DIS if we already have
* the CF_SHUTR flag, it means we were able to forward the request, and
* receive the response, before process_stream() had the opportunity to
@ -1148,7 +1148,7 @@ static void sess_set_term_flags(struct stream *s)
}
else if (s->si[1].state == SI_ST_QUE)
s->flags |= SF_FINST_Q;
else if (si_state_in(s->si[1].state, SI_SB_REQ|SI_SB_TAR|SI_SB_ASS|SI_SB_CON|SI_SB_CER))
else if (si_state_in(s->si[1].state, SI_SB_REQ|SI_SB_TAR|SI_SB_ASS|SI_SB_CON|SI_SB_CER|SI_SB_RDY))
s->flags |= SF_FINST_C;
else if (s->si[1].state == SI_ST_EST || s->si[1].prev_state == SI_ST_EST)
s->flags |= SF_FINST_D;
@ -1945,7 +1945,7 @@ redo:
/* note: maybe we should process connection errors here ? */
}
if (si_state_in(si_b->state, SI_SB_CON)) {
if (si_state_in(si_b->state, SI_SB_CON|SI_SB_RDY)) {
/* we were trying to establish a connection on the server side,
* maybe it succeeded, maybe it failed, maybe we timed out, ...
*/
@ -2428,7 +2428,7 @@ redo:
/* Now we can add the server name to a header (if requested) */
/* check for HTTP mode and proxy server_name_hdr_name != NULL */
if (si_state_in(si_b->state, SI_SB_CON|SI_SB_EST) &&
if (si_state_in(si_b->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST) &&
(s->be->server_id_hdr_name != NULL) &&
(s->be->mode == PR_MODE_HTTP) &&
objt_server(s->target)) {

View File

@ -175,7 +175,7 @@ static void stream_int_shutr(struct stream_interface *si)
ic->flags |= CF_SHUTR;
ic->rex = TICK_ETERNITY;
if (!si_state_in(si->state, SI_SB_CON|SI_SB_EST))
if (!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST))
return;
if (si_oc(si)->flags & CF_SHUTW) {
@ -217,6 +217,7 @@ static void stream_int_shutw(struct stream_interface *si)
}
switch (si->state) {
case SI_ST_RDY:
case SI_ST_EST:
/* we have to shut before closing, otherwise some short messages
* may never leave the system, especially when there are remaining
@ -541,7 +542,7 @@ static void stream_int_notify(struct stream_interface *si)
/* wake the task up only when needed */
if (/* changes on the production side */
(ic->flags & (CF_READ_NULL|CF_READ_ERROR)) ||
!si_state_in(si->state, SI_SB_CON|SI_SB_EST) ||
!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST) ||
(si->flags & SI_FL_ERR) ||
((ic->flags & CF_READ_PARTIAL) &&
((ic->flags & CF_EOI) || !ic->to_forward || sio->state != SI_ST_EST)) ||
@ -893,7 +894,7 @@ void si_update_both(struct stream_interface *si_f, struct stream_interface *si_b
/* back stream-int */
cs = objt_cs(si_b->end);
if (cs &&
si_state_in(si_b->state, SI_SB_CON|SI_SB_EST) &&
si_state_in(si_b->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST) &&
!(req->flags & CF_SHUTW) && /* Write not closed */
!channel_is_empty(req) &&
!(cs->flags & (CS_FL_ERROR|CS_FL_ERR_PENDING)) &&
@ -903,10 +904,10 @@ void si_update_both(struct stream_interface *si_f, struct stream_interface *si_b
}
/* let's recompute both sides states */
if (si_state_in(si_f->state, SI_SB_EST))
if (si_state_in(si_f->state, SI_SB_RDY|SI_SB_EST))
si_update(si_f);
if (si_state_in(si_b->state, SI_SB_EST))
if (si_state_in(si_b->state, SI_SB_RDY|SI_SB_EST))
si_update(si_b);
/* stream ints are processed outside of process_stream() and must be
@ -944,7 +945,7 @@ static void stream_int_shutr_conn(struct stream_interface *si)
ic->flags |= CF_SHUTR;
ic->rex = TICK_ETERNITY;
if (!si_state_in(si->state, SI_SB_CON|SI_SB_EST))
if (!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST))
return;
if (si->flags & SI_FL_KILL_CONN)
@ -989,6 +990,7 @@ static void stream_int_shutw_conn(struct stream_interface *si)
}
switch (si->state) {
case SI_ST_RDY:
case SI_ST_EST:
/* we have to shut before closing, otherwise some short messages
* may never leave the system, especially when there are remaining
@ -1060,7 +1062,7 @@ static void stream_int_shutw_conn(struct stream_interface *si)
static void stream_int_chk_rcv_conn(struct stream_interface *si)
{
/* (re)start reading */
if (si_state_in(si->state, SI_SB_CON|SI_SB_EST))
if (si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST))
tasklet_wakeup(si->wait_event.task);
}
@ -1075,7 +1077,7 @@ static void stream_int_chk_snd_conn(struct stream_interface *si)
struct channel *oc = si_oc(si);
struct conn_stream *cs = __objt_cs(si->end);
if (unlikely(!si_state_in(si->state, SI_SB_CON|SI_SB_EST) ||
if (unlikely(!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST) ||
(oc->flags & CF_SHUTW)))
return;
@ -1106,7 +1108,7 @@ static void stream_int_chk_snd_conn(struct stream_interface *si)
*/
if (((oc->flags & (CF_SHUTW|CF_AUTO_CLOSE|CF_SHUTW_NOW)) ==
(CF_AUTO_CLOSE|CF_SHUTW_NOW)) &&
si_state_in(si->state, SI_SB_EST)) {
si_state_in(si->state, SI_SB_RDY|SI_SB_EST)) {
si_shutw(si);
goto out_wakeup;
}
@ -1471,7 +1473,7 @@ static void stream_int_read0(struct stream_interface *si)
ic->flags |= CF_SHUTR;
ic->rex = TICK_ETERNITY;
if (!si_state_in(si->state, SI_SB_CON|SI_SB_EST))
if (!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST))
return;
if (oc->flags & CF_SHUTW)
@ -1561,7 +1563,7 @@ static void stream_int_shutr_applet(struct stream_interface *si)
/* Note: on shutr, we don't call the applet */
if (!si_state_in(si->state, SI_SB_CON|SI_SB_EST))
if (!si_state_in(si->state, SI_SB_CON|SI_SB_RDY|SI_SB_EST))
return;
if (si_oc(si)->flags & CF_SHUTW) {
@ -1603,6 +1605,7 @@ static void stream_int_shutw_applet(struct stream_interface *si)
appctx_wakeup(si_appctx(si));
switch (si->state) {
case SI_ST_RDY:
case SI_ST_EST:
/* we have to shut before closing, otherwise some short messages
* may never leave the system, especially when there are remaining