summaryrefslogtreecommitdiff
path: root/src/listener.rs
AgeCommit message (Collapse)AuthorFilesLines
2016-09-08Add IoStream abstraction + max read buf size + revamp IO & timer registrationYorhel1-5/+6
2016-09-08eventloop: Signal Machine removal through return valuesYorhel1-3/+5
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 MachineYorhel1-18/+15
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 optionsYorhel1-6/+81
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 improvementsYorhel1-8/+17
2016-09-05Add some buffer handling + improve error handling a bitYorhel1-5/+26
2016-09-04Add generic event loop + bind+listen handling codeYorhel1-0/+49