On Thu, Apr 11, 2013 at 9:48 AM, Haomai Wang <[email protected]> wrote:
> Hello, > > I scan the source of Monkey and feel excited to see readable code. I'm > working on event-driven library and Http handle for months and learn from > the source code quickly. > > I want to describe my plan about SPDY protocol support(I'm not master the > overview of Monkey and Duda completely, please correct me!): > > The list below is the key to accomplish this project: > > 1. SPDY protocol is familiar to Http 1.1, which can be verify in [SPDY > Protocol - Draft > 3<http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3#TOC-5.2-HTTP-Headers-and-SPDY-Headers>]. > > 2. Monkey relevant to Http is mainly in nk_request.c and nc.plugin.c > 3. Monkey Plugins compatible with SPDY > > Because SPDY and Http uses the similar headers, there is no too much work > on change nk.request.c and nc.plugin.c. Http status and Http headers API > also can be changed to common use. Monkey Plugins use API from nk.plugin.h, > we can change the implementation of them and try to not affetc plugins. > > Challenges: > 1. Compatible with Http 1.0 or 0.9: I don't familiar with Http 0.9. So I > don't know what should be think much of. I hope to get help on this > 2. Plugins: I haven't detailedly browse all the code in plugin directory. > I hope to get some introduces about them when plugin API implementation > changed. > > Beyond the idea: > > I find epoll supporting is integrated into core. And it's the main problem > need to solve if port Monkey Stack to OSX. I want to abstract event-drive > API and add kqueue supporting on Monkey. > > I am appreciate your attention and guidance! > > Best regards, > Wheats > > > > 在 2013-4-10,下午10:59,Haomai Wang <[email protected]> 写道: > > Hello, > > My name is Haomai Wang. I'm currently a 3rd year student from China. I > have lots of months working on server-side software. I have three years C > coding experience and two years for Python. > > My open-source project relevant to Monkey project: > > I own a open-source project called *"Wheatserver"(all codes written by me) > *. It's a application server framework written in C. You can access it by > Github(https://github.com/yuyuyu101/wheatserver). I begin it at five > months ago and release it only few days. More information you can see in > Github project. Because it's a beginner, I only write a few articles in > Chinese and lack of English. > > ======================= > > *What Wheatserver is:* > You can write a worker module or protocol module or application module for > it. For example, you can write a WSGI server using Wheatserver. What you > only to do is write Python-C API call application-side code. Wheatserver > will give you a IO supporting(which worker module support) and Http > supporting(which protocol module support).Now based on Wheatserver, I write > a WSGI server(Fastest WSGI server) and a Redis distribution system(Dynamo > Style). It's welcomed by Chinese community. > > It sounds interesting. But it exists many problems and lack of experiences > building a robust framework. > > Oh, my expression in English is not well. ==~== > > I am a newer on Monkey Project. I am attracted by Monkey because of its > performance and interesting features. I want to join Monkey Project and > spread to Chinese developer community. I am a active developer and can make > my best to work on Monkey(Starting read Monkey source) > > ======================= > > *Other skills:* > > Understand some Nginx codes(Learn some features from it and implement it > on Wheatserver) > > Years on K/V database: I read most of K/V databases besides Redis, > Memcached, BeansDB(Bitcask), CascadeDB, LevelDB, TT & TC. > > * Add OSX support for Twemproxy(http://github.com/twitter/twemproxy). Oh, > what I do is only add a abstract layer for event-driven API and add Kqueue > support.* > * ~=~, I also intersted in "Port Monkey stack to OSX and cross compiling > environment" idea.* > * > * > Several Django projects. > > ======================= > > Working experience: > > Intel-Chengdu Summer Intern. Provide with inner system supporting. > > ======================= > > My Chinese blog: http://www.wzxue.com/ > > > > > Best regards, > Wheats > > > > > > _______________________________________________ > Monkey mailing list > [email protected] > http://lists.monkey-project.com/listinfo/monkey > > indeed there are many changes to do, the current core uses a client file descriptor as primary key to identify a request, in SPDY many requests can exists under the same file descriptor, so that means a deep review of the stack and start thinking how to adapt the current design to be more protocol-agnostic without affect all features. try to reach us on irc.freenode.net #monkey regards, -- Eduardo Silva http://edsiper.linuxchile.cl http://www.monkey-project.com
_______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
