It's not strictly true that `SelIOWatcher.iterate' isn't used by
`TripeCommandDispatcher', because the latter's `mainloop' method calls
it; but that's not something you need to care about unless you're also
using the service implementation framework.
Wait for something interesting to happen, and issue events.
That is, basically, do one iteration of a main select loop, processing
- all of the events, and then return. This isn't needed for
- `TripeCommandDispatcher', but `runservices' wants it.
+ all of the events, and then return. This is used in the method
+ `TripeCommandDispatcher.mainloop', but that's mostly for the benefit of
+ `runservices'; if your I/O watcher has a different main loop, you can
+ drive it yourself.
"""
M.select()