Manos wants to get SPDY, and you can help

Introduction

This summer, I've been fortunate enough to be accepted into the Google Summer of Code program to work on implementing Google's SPDY web protocol on top of the Manos Evented IO/HTTP Application platform. As of today, I'm at the point where I'd like to share what I've built so far and hopefully get enough testing and eyes on it to get pulled into master. After reading this post, you'll have no excuse not to contribute and test out this new functionality.

Requirements

Manos installation instructions and requirements can be found here. Additionally, you will need gnutls if you plan to try it over SSL (Linux only at the moment).

Building

In order to build with SPDY, you'll have to clone from my fork and checkout the 'spdy' branch:

git clone git://github.com/kersny/manos.git
cd manos
git checkout spdy

Then, you can simply build:

./autogen.sh (--with-gnutls if you want ssl)
make
(optional) sudo make install

If you don't want to clobber an already installed manos, you can skip the make install and invoke manostool.exe directly to try spdy.

Using it

To get your first manos app up and running check out the tutorial. Then to serve with spdy, simply set a port with -n:

manos --server -n 8081

Outputs:

Running (your manos app) on port 8080.
Running (your manos app) with SPDY on port 8081.

Now, you have to force Chrome to use SPDY because manos currently does not support protocol negotiation. To do so, invoke chrome from the command line with the switch '--use-spdy=no-ssl' This will make any non-spdy site fail, but allow us to test our own server. Then, simple head to localhost:8081 to navigate your Manos app.

Next Steps

My goal with this post is to generate discussion and intrest around manos's spdy support and more importantly get people critiquing and poking holes through my code. If you'd like to help, head to the discussion on the pull request and tell me how terrible my code is.


blog comments powered by Disqus