The HTTP/2 implementation (RFC 7240, 7241).

The SPDY support is removed, as it's incompatible with the new module.
diff --git a/auto/make b/auto/make
index 78d0422..dca011c 100644
--- a/auto/make
+++ b/auto/make
@@ -7,7 +7,7 @@
 
 mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
          $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
-         $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
+         $NGX_OBJS/src/http $NGX_OBJS/src/http/v2 $NGX_OBJS/src/http/modules \
          $NGX_OBJS/src/http/modules/perl \
          $NGX_OBJS/src/mail \
          $NGX_OBJS/src/stream \
diff --git a/auto/modules b/auto/modules
index 60a060d..5c734e1 100644
--- a/auto/modules
+++ b/auto/modules
@@ -94,7 +94,7 @@
 #     ngx_http_write_filter
 #     ngx_http_header_filter
 #     ngx_http_chunked_filter
-#     ngx_http_spdy_filter
+#     ngx_http_v2_filter
 #     ngx_http_range_header_filter
 #     ngx_http_gzip_filter
 #     ngx_http_postpone_filter
@@ -115,8 +115,8 @@
                      $HTTP_HEADER_FILTER_MODULE \
                      $HTTP_CHUNKED_FILTER_MODULE"
 
-if [ $HTTP_SPDY = YES ]; then
-    HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SPDY_FILTER_MODULE"
+if [ $HTTP_V2 = YES ]; then
+    HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_V2_FILTER_MODULE"
 fi
 
 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_RANGE_HEADER_FILTER_MODULE"
@@ -180,12 +180,12 @@
 fi
 
 
-if [ $HTTP_SPDY = YES ]; then
-    have=NGX_HTTP_SPDY . auto/have
-    USE_ZLIB=YES
-    HTTP_MODULES="$HTTP_MODULES $HTTP_SPDY_MODULE"
-    HTTP_DEPS="$HTTP_DEPS $HTTP_SPDY_DEPS"
-    HTTP_SRCS="$HTTP_SRCS $HTTP_SPDY_SRCS"
+if [ $HTTP_V2 = YES ]; then
+    have=NGX_HTTP_V2 . auto/have
+    HTTP_MODULES="$HTTP_MODULES $HTTP_V2_MODULE"
+    HTTP_INCS="$HTTP_INCS $HTTP_V2_INCS"
+    HTTP_DEPS="$HTTP_DEPS $HTTP_V2_DEPS"
+    HTTP_SRCS="$HTTP_SRCS $HTTP_V2_SRCS"
 fi
 
 HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
diff --git a/auto/options b/auto/options
index e70d1a0..efc8943 100644
--- a/auto/options
+++ b/auto/options
@@ -58,7 +58,7 @@
 HTTP_CHARSET=YES
 HTTP_GZIP=YES
 HTTP_SSL=NO
-HTTP_SPDY=NO
+HTTP_V2=NO
 HTTP_SSI=YES
 HTTP_POSTPONE=NO
 HTTP_REALIP=NO
@@ -210,7 +210,7 @@
         --http-scgi-temp-path=*)         NGX_HTTP_SCGI_TEMP_PATH="$value" ;;
 
         --with-http_ssl_module)          HTTP_SSL=YES               ;;
-        --with-http_spdy_module)         HTTP_SPDY=YES              ;;
+        --with-http_v2_module)           HTTP_V2=YES                ;;
         --with-http_realip_module)       HTTP_REALIP=YES            ;;
         --with-http_addition_module)     HTTP_ADDITION=YES          ;;
         --with-http_xslt_module)         HTTP_XSLT=YES              ;;
@@ -378,7 +378,7 @@
   --with-ipv6                        enable IPv6 support
 
   --with-http_ssl_module             enable ngx_http_ssl_module
-  --with-http_spdy_module            enable ngx_http_spdy_module
+  --with-http_v2_module              enable ngx_http_v2_module
   --with-http_realip_module          enable ngx_http_realip_module
   --with-http_addition_module        enable ngx_http_addition_module
   --with-http_xslt_module            enable ngx_http_xslt_module
diff --git a/auto/sources b/auto/sources
index 3d89e2d..2abbc60 100644
--- a/auto/sources
+++ b/auto/sources
@@ -317,13 +317,17 @@
 HTTP_FILE_CACHE_SRCS=src/http/ngx_http_file_cache.c
 
 
-HTTP_SPDY_MODULE=ngx_http_spdy_module
-HTTP_SPDY_FILTER_MODULE=ngx_http_spdy_filter_module
-HTTP_SPDY_DEPS="src/http/ngx_http_spdy.h \
-                src/http/ngx_http_spdy_module.h"
-HTTP_SPDY_SRCS="src/http/ngx_http_spdy.c \
-                src/http/ngx_http_spdy_module.c \
-                src/http/ngx_http_spdy_filter_module.c"
+HTTP_V2_MODULE=ngx_http_v2_module
+HTTP_V2_FILTER_MODULE=ngx_http_v2_filter_module
+HTTP_V2_INCS="src/http/v2"
+HTTP_V2_DEPS="src/http/v2/ngx_http_v2.h \
+              src/http/v2/ngx_http_v2_module.h"
+HTTP_V2_SRCS="src/http/v2/ngx_http_v2.c \
+              src/http/v2/ngx_http_v2_table.c \
+              src/http/v2/ngx_http_v2_huff_decode.c \
+              src/http/v2/ngx_http_v2_huff_encode.c \
+              src/http/v2/ngx_http_v2_module.c \
+              src/http/v2/ngx_http_v2_filter_module.c"
 
 
 HTTP_CHARSET_FILTER_MODULE=ngx_http_charset_filter_module