THEHUSKY.NET muxmutt · follow a request version

Follow one request

muxmutt is the server answering this page. Every request it serves is a short list of moves: wait, accept, read, decide, send, log, finish. Below, each move is one step, with the calls it makes to the kernel and the functions that do the work.

Pick a path

Start with one of these three. The rest are below, shortest first.

    A file is served

    GET / (location = /, try-files /index.html, 10,800 bytes)

    200 — Content-Type, Content-Length, Last-Modified, ETag, Accept-Ranges and the vhost's four security headers, then the file appended to the same buffer and written once.

    10 steps · up to 16 different calls A file from disk, small enough to go out in one write.
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10

    Every function, if you want it

    The 61 assembler functions behind those steps, lane by lane. This is the engineer's view: the arrows are the branches, and the path you selected is the only one lit.

    Reference

    Everything the steps above are built from. None of it is needed to follow a path.

    Words used on this page
    System calls
    Deadlines and limits
    Answers and status codes
    What is not there yet