summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-14Add initial request parsing + request objectHEADmasterYorhel5-28/+264
2016-09-08Add IoStream abstraction + max read buf size + revamp IO & timer registrationYorhel5-137/+252
2016-09-08eventloop: Signal Machine removal through return valuesYorhel3-54/+61
The Machine handler should not really do anything after it has decided it wants to be destroyed, so it seems better to enforce this by having the handler return this action.
2016-09-07eventloop: Make spawn() accept a closure that creates a MachineYorhel3-36/+29
This provides two advantages: Machines don't have to be Send/Sync anymore (but can still be spawned on different threads), and the init() and new() methods are now merged, allowing the Machine to access its context on initialization. I guess Rotor had a point here after all. :)
2016-09-07Add max-connections (global+interface) and io-timeout (interface) config optionsYorhel4-29/+134
TODO: Add a global io-timeout that is inherited by interfaces that don't set it? Or is that needless complexity? I've added Sync bounds to Machines and implemented all this using Arc/Mutex in order for Machines to be runnable on multiple threads later on.
2016-09-06Add accept() backoff timer + tcp idle timer + minor eventloop API improvementsYorhel3-44/+176
2016-09-05Add some buffer handling + improve error handling a bitYorhel6-12/+163
2016-09-04Add generic event loop + bind+listen handling codeYorhel6-6/+321
2016-09-02Config parsing progressYorhel2-58/+108
2016-09-02Initial commit. Mostly learning RustYorhel5-0/+340