Gitiles
Code Review
Sign In
git01.mediatek.com
/
haproxy
/
22cf59bbbac90573cc28bf1035a3dae046083236
/
src
/
mux_h2.c
22cf59b
BUG/MEDIUM: h2: support orphaned streams
by Willy Tarreau
· Fri Nov 10 11:42:33 2017 +0100
8c0ea7d
BUG/MEDIUM: h2: split the function to send RST_STREAM
by Willy Tarreau
· Fri Nov 10 10:05:24 2017 +0100
a87f202
BUG/MEDIUM: h2: reject non-3-digit status codes
by Willy Tarreau
· Thu Nov 09 11:23:00 2017 +0100
926fa4c
BUG/MINOR: h2: don't send GOAWAY on failed response
by Willy Tarreau
· Tue Nov 07 14:42:12 2017 +0100
c4312d3
MINOR: h2: add new stream flag H2_SF_OUTGOING_DATA
by Willy Tarreau
· Tue Nov 07 12:01:53 2017 +0100
58e3208
BUG/MINOR: h2: correctly check for H2_SF_ES_SENT before closing
by Willy Tarreau
· Tue Nov 07 14:41:09 2017 +0100
6d8b682
BUG/MEDIUM: h2: properly set H2_SF_ES_SENT when sending the final frame
by Willy Tarreau
· Tue Nov 07 14:39:09 2017 +0100
e6ae77f
MINOR: h2: don't re-enable the connection's task when we're closing
by Willy Tarreau
· Tue Nov 07 11:59:51 2017 +0100
83906c2
BUG/MEDIUM: h2: don't close the connection is there are data left
by Willy Tarreau
· Tue Nov 07 11:48:46 2017 +0100
2a944ee
BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix
by Christopher Faulet
· Tue Nov 07 10:42:54 2017 +0100
7d8e4af
BUG/MEDIUM: h2: fix some wrong error codes on connections
by Willy Tarreau
· Tue Nov 07 11:08:28 2017 +0100
721c974
MEDIUM: h2: remove the H2_SS_RESET intermediate state
by Willy Tarreau
· Tue Nov 07 11:05:42 2017 +0100
319994a
BUG/MEDIUM: h2: don't try (and fail) to send non-existing data in the mux
by Willy Tarreau
· Tue Nov 07 11:03:56 2017 +0100
3eabe9b
BUG/MEDIUM: h2: properly send the GOAWAY frame in the mux
by Willy Tarreau
· Tue Nov 07 11:03:01 2017 +0100
c6795ca
BUG/MEDIUM: h2: properly send an RST_STREAM on mux stream error
by Willy Tarreau
· Tue Nov 07 09:43:06 2017 +0100
6743420
BUG/MINOR: h2: set the "HEADERS_SENT" flag on stream, not connection
by Willy Tarreau
· Mon Nov 06 20:20:51 2017 +0100
3340029
BUG/MAJOR: h2: set the connection's task to NULL when no client timeout is set
by Willy Tarreau
· Sun Nov 05 11:23:40 2017 +0100
f13ef96
BUG/MEDIUM: h2: don't try to parse incomplete H1 responses
by Willy Tarreau
· Thu Nov 02 15:14:19 2017 +0100
3f13357
BUG/MEDIUM: h2: fix incorrect timeout handling on the connection
by Willy Tarreau
· Tue Oct 31 19:21:06 2017 +0100
ea39282
MEDIUM: h2: apply a timeout to h2 connections
by Willy Tarreau
· Tue Oct 31 10:02:25 2017 +0100
a1349f0
MEDIUM: h2: send a GOAWAY frame when dealing with an empty response
by Willy Tarreau
· Tue Oct 31 07:41:55 2017 +0100
af1e4f5
MEDIUM: h2: perform a graceful shutdown on "Connection: close"
by Willy Tarreau
· Mon Oct 30 21:54:49 2017 +0100
1c66198
MINOR: h2: properly reject PUSH_PROMISE frames coming from the client
by Willy Tarreau
· Mon Oct 30 13:52:01 2017 +0100
c0da196
MEDIUM: h2: silently ignore frames higher than last_id after GOAWAY
by Willy Tarreau
· Mon Oct 30 18:38:00 2017 +0100
f182a9a
MINOR: h2: centralize the check for the half-closed(remote) streams
by Willy Tarreau
· Mon Oct 30 12:03:50 2017 +0100
f65b80d
MINOR: h2: centralize the check for the idle streams
by Willy Tarreau
· Mon Oct 30 11:46:49 2017 +0100
e96b092
MEDIUM: h2: handle GOAWAY frames
by Willy Tarreau
· Mon Oct 30 00:28:29 2017 +0100
23b92aa
MINOR: h2: use a common function to signal some and all streams.
by Willy Tarreau
· Mon Oct 30 00:26:54 2017 +0100
c7576ea
MEDIUM: h2: send DATA+ES or RST_STREAM on shutw/shutr
by Willy Tarreau
· Sun Oct 29 22:00:09 2017 +0100
cd234e9
MINOR: h2: handle RST_STREAM frames
by Willy Tarreau
· Fri Aug 18 10:59:39 2017 +0200
454f905
MEDIUM: h2: handle request body in DATA frames
by Willy Tarreau
· Thu Oct 26 19:40:35 2017 +0200
cc0b8c3
MEDIUM: h2: send WINDOW_UPDATE frames for connection
by Willy Tarreau
· Thu Oct 26 16:55:59 2017 +0200
c199faf
MEDIUM: h2: properly continue to parse header block when facing a 1xx response
by Willy Tarreau
· Tue Oct 31 08:35:27 2017 +0100
9d89ac8
MEDIUM: h2: skip the response trailers if any
by Willy Tarreau
· Tue Oct 31 17:15:59 2017 +0100
c652dbd
MEDIUM: h2: send the H1 response body as DATA frames
by Willy Tarreau
· Thu Oct 19 11:16:37 2017 +0200
9e5ae1d
MEDIUM: h2: implement the response HEADERS frame to encode the H1 response
by Willy Tarreau
· Tue Oct 17 19:58:20 2017 +0200
68dd985
MEDIUM: h2: don't use trash to decode headers!
by Willy Tarreau
· Mon Jul 03 14:44:26 2017 +0200
13278b4
MEDIUM: h2: basic processing of HEADERS frame
by Willy Tarreau
· Fri Oct 13 19:23:14 2017 +0200
45f752e
MEDIUM: h2: unblock a connection when its current stream detaches
by Willy Tarreau
· Mon Oct 30 15:44:59 2017 +0100
6093514
MEDIUM: h2: partial implementation of h2_detach()
by Willy Tarreau
· Mon Oct 16 18:11:19 2017 +0200
61290ec
MINOR: h2: handle CONTINUATION frames
by Willy Tarreau
· Tue Oct 17 08:19:21 2017 +0200
27a84c9
MINOR: h2: implement h2_send_rst_stream() to send RST_STREAM frames
by Willy Tarreau
· Tue Oct 17 08:10:17 2017 +0200
26f9595
MEDIUM: h2: honor WINDOW_UPDATE frames
by Willy Tarreau
· Thu Jul 27 17:18:30 2017 +0200
f3ee069
MINOR: h2: lookup the stream during demuxing
by Willy Tarreau
· Tue Oct 17 08:18:25 2017 +0200
3421aba
MEDIUM: h2: decode SETTINGS frames and extract relevant settings
by Willy Tarreau
· Thu Jul 27 15:41:03 2017 +0200
cf68c78
MINOR: h2: implement PING frames
by Willy Tarreau
· Tue Oct 10 17:11:41 2017 +0200
7e98c05
MINOR: h2: create a stream parser for the demuxer
by Willy Tarreau
· Tue Oct 10 15:56:59 2017 +0200
4c3690b
MEDIUM: h2: detect the presence of the first settings frame
by Willy Tarreau
· Tue Oct 10 15:16:55 2017 +0200
be5b715
MINOR: h2: send a real SETTINGS frame based on the configuration
by Willy Tarreau
· Mon Sep 25 16:25:39 2017 +0200
bacdf5a
MEDIUM: h2: process streams pending for sending
by Willy Tarreau
· Tue Oct 17 10:57:04 2017 +0200
d7739c8
MEDIUM: h2: enable reading again on the connection if it was blocked on stream buffer full
by Willy Tarreau
· Mon Oct 30 15:38:23 2017 +0100
1d39322
MEDIUM: h2: enable connection polling for send when a cs wants to emit
by Willy Tarreau
· Tue Oct 17 10:26:19 2017 +0200
52eed75
MINOR: h2: match the H2 connection preface on init
by Willy Tarreau
· Fri Sep 22 15:05:09 2017 +0200
081d472
MINOR: h2: add a function to send a GOAWAY error frame
by Willy Tarreau
· Tue May 16 21:51:05 2017 +0200
bc93393
MEDIUM: h2: start to implement the frames processing loop
by Willy Tarreau
· Mon Oct 09 16:21:43 2017 +0200
5160683
MEDIUM: h2: wake the connection up for send on pending streams
by Willy Tarreau
· Tue Oct 17 15:30:07 2017 +0200
29a9824
MEDIUM: h2: properly consider all conditions for end of connection
by Willy Tarreau
· Tue Oct 31 06:59:15 2017 +0100
26bd761
MINOR: h2: also terminate the connection on shutr
by Willy Tarreau
· Mon Oct 09 16:47:04 2017 +0200
fbe3b4f
MEDIUM: h2: start to consider the H2_CF_{MUX,DEM}_* flags for polling
by Willy Tarreau
· Mon Oct 09 15:14:19 2017 +0200
1b62c5c
MINOR: h2: update the {MUX,DEM}_{M,D}ALLOC flags on buffer availability
by Willy Tarreau
· Mon Sep 25 11:55:01 2017 +0200
3ccf4b2
MINOR: h2: add the function to create a new stream
by Willy Tarreau
· Fri Oct 13 19:07:26 2017 +0200
2a85618
MINOR: h2: create dummy idle and closed streams
by Willy Tarreau
· Tue May 16 15:20:39 2017 +0200
2373acc
MINOR: h2: add stream lookup function based on the stream ID
by Willy Tarreau
· Thu Oct 12 17:35:14 2017 +0200
54c1506
MINOR: h2: add a few functions to retrieve contents from a wrapping buffer
by Willy Tarreau
· Tue Oct 10 17:10:03 2017 +0200
715d531
MINOR: h2: new function h2_peek_frame_hdr() to retrieve a new frame header
by Willy Tarreau
· Tue Jul 11 15:20:24 2017 +0200
e482074
MINOR: h2: add h2_set_frame_size() to update the size in a binary frame
by Willy Tarreau
· Thu Jul 27 13:37:23 2017 +0200
2e43f08
MINOR: h2: new function h2s_error() to mark an error on a stream
by Willy Tarreau
· Tue Oct 17 08:03:59 2017 +0200
741d6df
MINOR: h2: new function h2c_error to mark an error on the connection
by Willy Tarreau
· Tue Oct 17 08:00:59 2017 +0200
5b5e687
MINOR: h2: small function to know when the mux is busy
by Willy Tarreau
· Mon Sep 25 16:17:25 2017 +0200
7168117
MINOR: h2: add function h2s_id() to report a stream's ID
by Willy Tarreau
· Mon Oct 23 14:39:06 2017 +0200
2e5b60e
MINOR: h2: add the connection and stream flags listing the causes for blocking
by Willy Tarreau
· Mon Sep 25 11:49:03 2017 +0200
1439812
MEDIUM: h2: implement the mux buffer allocator
by Willy Tarreau
· Fri Sep 22 14:26:04 2017 +0200
35dbd5d
MEDIUM: h2: dynamically allocate the demux buffer on Rx
by Willy Tarreau
· Fri Sep 22 09:13:49 2017 +0200
a2af512
MEDIUM: h2: implement basic recv/send/wake functions
by Willy Tarreau
· Mon Oct 09 11:56:46 2017 +0200
32218eb
MEDIUM: h2: allocate and release the h2c context on connection init/end
by Willy Tarreau
· Fri Sep 22 08:07:25 2017 +0200
c640514
MINOR: h2: add a frame header descriptor for incoming frames
by Willy Tarreau
· Thu Sep 21 20:23:50 2017 +0200
96060ba
MINOR: h2: handle two extra stream states for errors
by Willy Tarreau
· Mon Oct 16 18:34:34 2017 +0200
1831264
MINOR: h2: create the h2s struct and the associated pool
by Willy Tarreau
· Wed Oct 11 07:57:07 2017 +0200
5ab6b57
MINOR: h2: create the h2c struct and allocate its pool
by Willy Tarreau
· Fri Sep 22 08:05:00 2017 +0200
5242ef8
MINOR: h2: expose tune.h2.max-concurrent-streams to limit the number of streams
by Willy Tarreau
· Thu Jul 27 11:47:28 2017 +0200
e6baec0
MINOR: h2: expose tune.h2.initial-window-size to configure the window size
by Willy Tarreau
· Thu Jul 27 11:45:11 2017 +0200
fe20e5b
MINOR: h2: expose tune.h2.header-table-size to configure the table size
by Willy Tarreau
· Thu Jul 27 11:42:14 2017 +0200
62f5269
MINOR: h2: create a very minimalistic h2 mux
by Willy Tarreau
· Sun Oct 08 23:01:42 2017 +0200