我们在这里激动的宣布开源我们的Proxygen,一个C++ HTTP库的集合,连同一个简单易用的HTTP服务器。除了HTTP/1.1之外,Proxygen还支持SPDY3和SPDY/3.1,目前正在添加HTTP/2的支持。
###Get Source
听到这消息,心中有种莫名的兴奋感!于是,打开 terminal
输入自己从github
里fork
出来的proxygen.git
,迫不及待的敲下了命令git clone https://github.com/ittomato/proxygen.git
然后,经过漫长的等待(网速不给力,木办法啊)
终于见到真代码了,这个所谓
很是依赖最新的
C++
特性,并且依赖Thrift
和Folly
底层网络库和数据抽象,并使用了很多高级语法避免对大的对象,例如body缓存
,head representations
进行拷贝,同时避免了典型的一些内存泄露的天坑;另外,使用了非阻塞IO
和Linux epoll
技术的一个能够创建出高效服务器的代码框架。
终于见到祖师爷
真身了,心存兴奋(源码面前,了无秘密,我可以学到更多)
###文件布局
让我先来看下此大神级的框架的文件目录是如何布局的: