1340 Commits

Author SHA1 Message Date
Greg Wilkins
17f46665df preencoded httpfield optimisation 2014-08-06 21:09:26 +10:00
Greg Wilkins
b5971484a5 Basic push mechanism skeleton 2014-08-06 10:50:55 +10:00
Simone Bordet
22cdca9131 Merge branch 'jetty-http2' into http2_flow_control 2014-08-05 10:01:30 +02:00
Greg Wilkins
6b3c8d06a9 partial 100 continues support in http2 2014-08-05 16:14:53 +10:00
Greg Wilkins
d7f2c42e2d misc optimisation of http2 field creation 2014-08-05 12:55:37 +10:00
Simone Bordet
636c7eaeae Fixed handling of max concurrent streams.
There is a difference between the value set via configuration, that
always refer to remote streams (streams initiated by remote peers),
and the value received via SETTINGS frame, that always refer to local
streams (streams initiated locally).
2014-08-05 02:01:34 +02:00
Greg Wilkins
48d68a4916 handle http/1 host header in http/2 2014-08-05 09:21:27 +10:00
Simone Bordet
ac7aa4decc Flow control needs improvements. 2014-08-05 00:28:06 +02:00
Simone Bordet
20925ded97 Fixed insertion of frame header buffer at the right index.
In case the lease is not empty, the frame header buffer must not be
inserted at index 0, but just before the frame body buffer.
2014-08-04 12:15:14 +02:00
Simone Bordet
a2faa030cc Improved logging. 2014-08-04 12:09:35 +02:00
Simone Bordet
17c03385d6 Fixed send() by properly handling all cases. 2014-08-04 12:09:10 +02:00
Simone Bordet
35f0103add Added HTTP2 tests for multiple requests. 2014-08-03 00:27:28 +02:00
Simone Bordet
8d554b54a8 Fixed checks for headers too big. 2014-08-03 00:27:28 +02:00
Simone Bordet
e332aa9c43 Improved logging. 2014-08-03 00:27:28 +02:00
Greg Wilkins
1fb07644a1 Use HttpHeader enum for :path and similar h2 fields 2014-08-02 16:37:43 +10:00
Greg Wilkins
cd59d0085e improve known header handling in hpack encoding 2014-08-02 15:40:15 +10:00
Greg Wilkins
1873b306b3 Improved hpack encoder handling of custom fields 2014-08-02 12:56:12 +10:00
Simone Bordet
dcc8bfcd10 Fixed a reentrancy issue that caused a stack overflow.
The case was that shutdown was called, ShutdownFlusherEntry called
flusher.close(), which called super.close(), which called
onCompleteFailure(), which looped over the active items to fail them,
calling again ShutdownFlusherEntry, which called again flusher.close(),
etc.
2014-08-02 00:38:24 +02:00
Simone Bordet
87c4c5efd3 Updated to point to webtide.com, now HTTP/2 enabled. 2014-08-02 00:02:25 +02:00
Simone Bordet
51e4885911 Made HTTP2Client support SSL so that it can be used to test websites that serve HTTP2. 2014-08-01 19:03:29 +02:00
Simone Bordet
7004d71996 Reporting FRAME_SIZE_ERROR in case wrong frame lengths. 2014-08-01 16:22:36 +02:00
Simone Bordet
cddfa033f0 Implemented handling of SETTINGS_HEADER_TABLE_SIZE configuration property. 2014-08-01 16:20:20 +02:00
Simone Bordet
346b726c47 Taking into account the padding bytes in flow control length. 2014-08-01 15:54:12 +02:00
Simone Bordet
89a045855c Moved http2.frames.Flag to http2.Flags. 2014-08-01 15:04:14 +02:00
Simone Bordet
67fd213263 Moved http2.parser.ErrorCode to http2.ErrorCodes. 2014-08-01 15:03:49 +02:00
Simone Bordet
168a8f7dbf Reporting FRAME_SIZE_ERROR in case wrong frame lengths. 2014-08-01 15:01:03 +02:00
Simone Bordet
3283232f02 Added initial support for parsing CONTINUATION frames, and nothing more. 2014-08-01 14:02:11 +02:00
Simone Bordet
6b6267ed31 Updated implementation to draft-14. 2014-08-01 13:32:56 +02:00
Greg Wilkins
9c3eedfea8 Updates to hpack for hpack-09 draft 2014-07-31 13:26:23 +10:00
Greg Wilkins
a14b2be0e6 Merge branch 'jetty-http2' into refset 2014-07-31 11:58:30 +10:00
Greg Wilkins
70dafa8eb3 simplified HttpTransport API 2014-07-31 11:53:51 +10:00
Greg Wilkins
5d8780cb4e Record some TODOs 2014-07-28 15:27:40 +10:00
Greg Wilkins
a1696c0139 updates for hpack huffman and examples 2014-07-25 19:38:16 +10:00
Greg Wilkins
c13be6d932 Merge branch 'jetty-http2' into refset
Conflicts:
	jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackEncoderTest.java
2014-07-25 18:33:10 +10:00
Greg Wilkins
30123607c6 Major refactor of metadata and HttpURI
This refactor strives to remove duplication between the Metadata class and the HttpURI class.

Both classes have been made mutable (as they partially were anyway so best not to pretend).

HttpURI now holds the decomposed strings rather than a single string with indexes. This allows it to be rebuilt after changing just parts of the URI. It is now a lot more similar to the
JVM URI class and we could consider replacing it (after checking peformance).

Next step is to refactor the Request class to prevent it duplicating these fields.
2014-07-24 15:49:52 +10:00
Greg Wilkins
d6f841bb87 fixed refactor uri issue 2014-07-23 09:03:52 +10:00
Greg Wilkins
7f62f2600b refactored URI handling 2014-07-20 10:23:47 +10:00
Greg Wilkins
a639359a7b do not index content-length 2014-07-18 17:23:44 +10:00
Greg Wilkins
d4e7c0a279 update encoding strategy for no ref-set 2014-07-18 15:59:41 +10:00
Greg Wilkins
89a816843f removed refset from hpack 2014-07-18 15:59:41 +10:00
Greg Wilkins
f9ffefbe13 refactored to avoid copying MetaData.Request instances 2014-07-11 16:35:25 +10:00
Greg Wilkins
ca1a9ceb7c fixed merge issues 2014-07-04 23:22:40 +10:00
Simone Bordet
603985dcd2 Implemented gentler shutdown in case of reading -1.
This allows big responses to be sent even if the request half closes
the connection.
2014-06-27 17:06:07 +02:00
Simone Bordet
58b1ec9935 Improved logging. 2014-06-27 12:55:38 +02:00
Simone Bordet
2608af8f0d Merged branch 'origin/master' into 'jetty-http2'. 2014-06-26 11:54:50 +02:00
Simone Bordet
4c2c7e8352 Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-06-25 12:37:05 +02:00
Simone Bordet
02454ec8de Improved handling of errors for streams. 2014-06-24 13:52:03 +02:00
Simone Bordet
05616d1e9d Cosmetics. 2014-06-24 13:50:52 +02:00
Simone Bordet
e94b8745f2 PING frames are now processed as soon as possible. 2014-06-24 12:35:06 +02:00
Simone Bordet
7625844dff Closing the connection if frames that carry headers don't have the
END_HEADERS flag.
2014-06-24 12:35:06 +02:00