- Notifications
You must be signed in to change notification settings - Fork68
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.
License
riolet/WAFer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written in C for the C eco system, WAFer is wafer-thins with a memory footprint that is only a fraction of that of node.js and other bulky frameworks.
Just copy server.c (say, as myserver.c), put your code inside the functionvoid server(Request request)
inmyserver.c
and, make withmake SERVER=myserver
, and you are good to go.
WAFer can operate in many different configurations, all selected at compile time. They include:
Single-threaded (Default) or multi-threaded (make with
THREADS=n
where n>0)Select(Default) or epoll (make with
LOOP=epoll
) based event loopC10K mode (make with
LOOP=epoll MAX_CON_CONS=n
where n>10,000)
Default port is 4242. Set environment variable 'PORT' to change it.
That's really it. The source comes with a simple exampleexample.c
to get you started.
Thank you for making this a wonderful project!
Here's our preferred formatting style:
find . \( -name '*.c' -o -name '*.h' \) -exec indent --no-tabs --linux-style --line-length 90 --indent-level 4 -bli0 \{\} \;
J. David Blackstone andFeng Shen, whose web servers have been repurposed to build this platform.
Mark Karpeles for the incredible number of bug fixes!
Fine folks at /r/programming for the honest and constructive feedback.
About
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors12
Uh oh!
There was an error while loading.Please reload this page.