diff options
author | Andrey Uzunov <andrey.uzunov@gmail.com> | 2013-08-11 22:28:06 +0000 |
---|---|---|
committer | Andrey Uzunov <andrey.uzunov@gmail.com> | 2013-08-11 22:28:06 +0000 |
commit | e9a319277b58c9d55629cdd8d34a82cc7bee640e (patch) | |
tree | 75b0efeb127e925b7f22886f8d720acdda4ce89a | |
parent | c0f2ca60ba248c98e51da4efa78e8a4f9a61c133 (diff) | |
download | libmicrohttpd-e9a319277b58c9d55629cdd8d34a82cc7bee640e.tar.gz libmicrohttpd-e9a319277b58c9d55629cdd8d34a82cc7bee640e.zip |
spdy: comments/readme added/changed
-rw-r--r-- | README | 11 | ||||
-rw-r--r-- | src/include/microspdy.h | 21 | ||||
-rw-r--r-- | src/spdy2http/proxy.c | 2 |
3 files changed, 23 insertions, 11 deletions
@@ -8,9 +8,9 @@ protocol. The main application must still provide the application | |||
8 | logic to generate the content. | 8 | logic to generate the content. |
9 | 9 | ||
10 | Additionally, a second, still very experimental library is provided | 10 | Additionally, a second, still very experimental library is provided |
11 | for SPDY/HTTP 2.0 support. libmicrospdy provides a compact API and | 11 | for SPDY (the base for HTTP 2.0) support. libmicrospdy provides a |
12 | implementation of SPDY server. libmicrospdy currently only implements | 12 | compact API and implementation of SPDY server. libmicrospdy currently |
13 | version 3 of SPDY and accepts only TLS connections. | 13 | only implements partially version 3 of SPDY. |
14 | 14 | ||
15 | 15 | ||
16 | Installation | 16 | Installation |
@@ -108,12 +108,10 @@ a file will block all responses with same or smaller priority | |||
108 | - Find the best way for closing still opened stream (new call or existing) | 108 | - Find the best way for closing still opened stream (new call or existing) |
109 | - SPDY_is_stream_opened | 109 | - SPDY_is_stream_opened |
110 | - SPDY PING (used often by browsers) | 110 | - SPDY PING (used often by browsers) |
111 | - SPDY WINDOW_UPDATE - used often by browsers | 111 | - receiving SPDY WINDOW_UPDATE |
112 | - SPDY Settings | 112 | - SPDY Settings |
113 | - SPDY PUSH | 113 | - SPDY PUSH |
114 | - SPDY HEADERS | 114 | - SPDY HEADERS |
115 | - HTTP POST over SPDY and receiving DATA frames | ||
116 | - HTTP PUT over SPDY | ||
117 | - SPDY Credentials | 115 | - SPDY Credentials |
118 | 116 | ||
119 | Additional ideas for features include: | 117 | Additional ideas for features include: |
@@ -132,6 +130,7 @@ Unimplemented API functions of libmicrospdy: | |||
132 | 130 | ||
133 | In particular, we should write tests for: | 131 | In particular, we should write tests for: |
134 | - Enqueueing responses while considering request priorities. | 132 | - Enqueueing responses while considering request priorities. |
133 | - HTTP methods other than GET | ||
135 | 134 | ||
136 | 135 | ||
137 | 136 | ||
diff --git a/src/include/microspdy.h b/src/include/microspdy.h index 3b36025f..a5714b2d 100644 --- a/src/include/microspdy.h +++ b/src/include/microspdy.h | |||
@@ -42,8 +42,17 @@ | |||
42 | * "platform.h" in the libmicrospdy distribution).<p> | 42 | * "platform.h" in the libmicrospdy distribution).<p> |
43 | * | 43 | * |
44 | * All of the functions returning SPDY_YES/SPDY_NO return | 44 | * All of the functions returning SPDY_YES/SPDY_NO return |
45 | * SPDY_INPUT_ERROR when any of the parameters are invalid, e.g., | 45 | * SPDY_INPUT_ERROR when any of the parameters are invalid, e.g. |
46 | * required parameter is NULL. | 46 | * required parameter is NULL.<p> |
47 | * | ||
48 | * The library does not check if anything at the application layer -- | ||
49 | * requests and responses -- is correct. For example, it | ||
50 | * is up to the user to check if a client is sending HTTP body but the | ||
51 | * method is GET.<p> | ||
52 | * | ||
53 | * The SPDY flow control is just partially implemented: the receiving | ||
54 | * window is updated, and the client is notified, to prevent a client | ||
55 | * from stop sending POST body data, for example. | ||
47 | */ | 56 | */ |
48 | #ifndef SPDY_MICROSPDY_H | 57 | #ifndef SPDY_MICROSPDY_H |
49 | #define SPDY_MICROSPDY_H | 58 | #define SPDY_MICROSPDY_H |
@@ -647,8 +656,10 @@ typedef int | |||
647 | * @param more a flag saying if more data related to the request is | 656 | * @param more a flag saying if more data related to the request is |
648 | * expected to be received. HTTP body may arrive (e.g. POST data); | 657 | * expected to be received. HTTP body may arrive (e.g. POST data); |
649 | * then SPDY_NewDataCallback will be called for the connection. | 658 | * then SPDY_NewDataCallback will be called for the connection. |
650 | * It is also possible that more headers/trailers may arrive; | 659 | * It is also possible that more headers/trailers arrive; |
651 | * then the same callback will be invoked. | 660 | * then the same callback will be invoked. The user should detect |
661 | * that it is not the first invocation of the function for that | ||
662 | * request. | ||
652 | */ | 663 | */ |
653 | typedef void (*SPDY_NewRequestCallback) (void * cls, | 664 | typedef void (*SPDY_NewRequestCallback) (void * cls, |
654 | struct SPDY_Request * request, | 665 | struct SPDY_Request * request, |
@@ -851,7 +862,7 @@ SPDY_set_panic_func (SPDY_PanicCallback cb, | |||
851 | * established by a client | 862 | * established by a client |
852 | * @param sccb callback called when a session is closed | 863 | * @param sccb callback called when a session is closed |
853 | * @param nrcb callback called when a client sends request | 864 | * @param nrcb callback called when a client sends request |
854 | * @param npdcb callback called when HTTP POST params are received | 865 | * @param npdcb callback called when HTTP body (POST data) is received |
855 | * after request | 866 | * after request |
856 | * @param cls common extra argument to all of the callbacks | 867 | * @param cls common extra argument to all of the callbacks |
857 | * @param ... list of options (type-value pairs, | 868 | * @param ... list of options (type-value pairs, |
diff --git a/src/spdy2http/proxy.c b/src/spdy2http/proxy.c index e896bbc4..f1f20814 100644 --- a/src/spdy2http/proxy.c +++ b/src/spdy2http/proxy.c | |||
@@ -28,6 +28,8 @@ | |||
28 | * is a lot of data pointed from it) | 28 | * is a lot of data pointed from it) |
29 | * - Correct recapitalizetion of header names before giving the headers | 29 | * - Correct recapitalizetion of header names before giving the headers |
30 | * to curl. | 30 | * to curl. |
31 | * - curl does not close sockets when connection is closed and no | ||
32 | * new sockets are opened (they stay in CLOSE_WAIT) | ||
31 | * @author Andrey Uzunov | 33 | * @author Andrey Uzunov |
32 | */ | 34 | */ |
33 | 35 | ||