Migrate libasyncio from boost.signal to signals2 (#8756)
[libasyncio] / ideas.txt
... / ...
CommitLineData
1ideas/todo libasyncio
2------------------------
3
4smaller refactoring
5-----------
6remove dependencies to libi2ncommon
7documentation, usage examples, website
8backend in separate file
9break backend::doOneStep in 4 functions
10separate pollfd, maybe encapsulate the pollfd-struct instead of deriving from it
11separate polldatacluster
12document that timerbase is always based on monotonic clock, getrealwhentime converts the time live
13document handling of error-cases, m_errno (e.g. mask ENOTSOCK for non-socket fds)
14provide simple replacements for system() and pipestream using simpleio and timeouts
15steal idea from pike-dvd-script: pipe-like program-chain
16
17bigger refactoring
18------------------
19put iolist, timerlist & child-handling into backend to reduce the usage of global objects
20make IOImplementations require a link to the backend they are used with
21
22ideas
23-----
24offer a common io-client or io-server, abstracting out the real communication channel used.
25makes it possible to switch between ways of communication at runtime
26maybe filter-interface offers this functionality?
27
28boost::asio
29-----------
30feature comparison to boost::asio
31interface/usage comparison, what is more easy to use for our usecase?
32long-term: merge with boost::asio, maybe with additional lib or keep it a separate project?
33
34glue_t2n
35--------
36don't call doOneStep from within the fill_buffer()-variants
37- for the server-variants not that hard if you require that command_server::handle will be called on every socket-event
38- for the client: needs callback-interface on t2n-side, need to think about it