Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nghttp2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
nghttp2
Commits
0e56709a
Commit
0e56709a
authored
Feb 08, 2012
by
Tatsuhiro Tsujikawa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated README.rst
parent
fd0e91b0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
18 deletions
+61
-18
README.rst
README.rst
+61
-18
No files found.
README.rst
View file @
0e56709a
...
...
@@ -4,10 +4,36 @@ Spdylay - SPDY C Library
This is an experimental implementation of Google's SPDY protocol
version 2 in C.
The current status of development is in very early stage. But there
is a demo program ``spdycat`` in *examples* directory, which can
connect to SPDY-capable server via SSL and select spdy/2 with NPN and
get a resource given in the command-line::
The current status of development is in a beta stage now. As described
below, we can create SPDY client and server with the current Spdylay
API.
Build from git
--------------
Building from git is easy, but please be sure that at least autoconf 2.68 is
used.::
$ autoreconf -i
$ automake
$ autoconf
$ ./configure
$ make
Examples
--------
*examples* directory contains SPDY client and server implementation
using Spdylay. These programs are intended to make sure that Spdylay
API is acutally usable for real implementation and also for debugging
purposes. Please note that OpenSSL with `NPN
<http://technotes.googlecode.com/git/nextprotoneg.html>`_ support is
required in order to build and run these programs. At the time of
this writing, the Beta 2 of OpenSSL 1.0.1 supports NPN.
SPDY client is called ``spdycat``. It is a dead simple downloader like
wget/curl. It connects to SPDY server and gets resources given in the
command-line::
$ ./spdycat -vn https://www.google.com/
[ 0.029] NPN select next protocol: the remote server offers:
...
...
@@ -42,19 +68,36 @@ get a resource given in the command-line::
[ 0.094] send GOAWAY frame <version=2, flags=0, length=4>
(last_good_stream_id=0)
Please note that OpenSSL with
`NPN <http://technotes.googlecode.com/git/nextprotoneg.html>`_
support is required in order to build and run ``spdycat``.
==============
Build from git
==============
SPDY server is called ``spdyd``. It is a non-blocking server and only
serves static contents. It only speaks ``spdy/2``::
Building from git is easy, but please be sure that at least autoconf 2.68 is
used.::
$ ./spdyd --htdocs=/your/htdocs/ -v 3000 server.key server.crt
The negotiated next protocol: spdy/2
[id=1] [ 1.633] recv SYN_STREAM frame <version=2, flags=1, length=99>
(stream_id=1, assoc_stream_id=0, pri=3)
host: localhost:3000
method: GET
scheme: https
url: /
user-agent: spdylay/0.0.0
version: HTTP/1.1
[id=1] [ 1.633] send SYN_REPLY frame <version=2, flags=0, length=126>
(stream_id=1)
cache-control: max-age=3600
content-length: 8472
date: Mon, 16 Jan 2012 12:46:27 GMT
last-modified: Mon, 16 Jan 2012 12:46:27 GMT
server: spdyd spdylay/0.1.0
status: 200 OK
version: HTTP/1.1
[id=1] [ 1.633] send DATA frame (stream_id=1, flags=0, length=4104)
[id=1] [ 1.633] send DATA frame (stream_id=1, flags=0, length=4104)
[id=1] [ 1.633] send DATA frame (stream_id=1, flags=0, length=288)
[id=1] [ 1.633] send DATA frame (stream_id=1, flags=1, length=8)
[id=1] [ 1.633] stream_id=1 closed
[id=1] [ 1.634] recv GOAWAY frame <version=2, flags=0, length=4>
(last_good_stream_id=0)
[id=1] [ 1.634] closed
$ autoreconf -i
$ automake
$ autoconf
$ ./configure
$ make
Currently, ``spdyd`` depends on ``epoll`` facility which is only
exists on Linux. I'll add ``kqueue`` support.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment