Migrate libasyncio from boost.signal to signals2 (#8756)
[libasyncio] / ideas.txt
CommitLineData
470575df 1ideas/todo libasyncio
21ffe77a
GE
2------------------------
3
21ffe77a
GE
4smaller refactoring
5-----------
470575df 6remove dependencies to libi2ncommon
fe2f5bb0 7documentation, usage examples, website
21ffe77a
GE
8backend in separate file
9break backend::doOneStep in 4 functions
21ffe77a
GE
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)
f0804030 14provide simple replacements for system() and pipestream using simpleio and timeouts
fe2f5bb0 15steal idea from pike-dvd-script: pipe-like program-chain
21ffe77a
GE
16
17bigger refactoring
18------------------
470575df 19put iolist, timerlist & child-handling into backend to reduce the usage of global objects
21ffe77a
GE
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
470575df
RP
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?
f0804030
GE
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