Skip to content
forked from sysprog21/khttpd

An experimental HTTP server implemented as Linux kernel module

License

Notifications You must be signed in to change notification settings

RoyWFHuang/khttpd

 
 

Repository files navigation

khttpd

  • this project is fork from: khttpd

khttpd is an experimental tcp server implemented as Linux kernel module. The server defaults to port 12345, but this can be easily configured using command line argument port=?and backlog=? when you are about to load the kernel module.

When the tcp receiving data, this will copy data to ring buffer and set event to notify user (using epoll) getting data

TODO

  • Release resources when HTTP connection is about to be closed.
  • Introduce CMWQ.
  • Improve memory management.
  • Request queue and/or cache

License

khttpd is released under the MIT License. Use of this source code is governed by a MIT License that can be found in the LICENSE file.

External source code:

  • http_parser.[ch]: taken from nodejs/http-parser
    • Copyrighted by Joyent, Inc. and other Node contributors.
    • MIT License
  • htstress.c: derived from htstress
    • Copyrighted by Roman Arutyunyan
    • 2-clause BSD license

About

An experimental HTTP server implemented as Linux kernel module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 70.8%
  • Shell 26.0%
  • Makefile 3.2%