libasyncio: (reinhard) little fix.
[libasyncio] / ideas.txt
CommitLineData
470575df 1ideas/todo libasyncio
21ffe77a
GE
2------------------------
3
4name
5-----
470575df
RP
6rename from libsimpleio to libasyncio
7don't use namespace i2n
8use namespace asyncio
21ffe77a
GE
9
10
11smaller refactoring
12-----------
470575df 13remove dependencies to libi2ncommon
21ffe77a
GE
14backend in separate file
15break backend::doOneStep in 4 functions
16document reason for ptrlist: keeps iterators valid during loops which do inserts/deletes
17separate ptrlist
18protect ptrlist against evil usage (e.g. forbid or overload erase, push_back, insert,...)
19separate MilliTime
20separate pollfd, maybe encapsulate the pollfd-struct instead of deriving from it
21separate polldatacluster
22document that timerbase is always based on monotonic clock, getrealwhentime converts the time live
23document handling of error-cases, m_errno (e.g. mask ENOTSOCK for non-socket fds)
f0804030 24provide simple replacements for system() and pipestream using simpleio and timeouts
21ffe77a
GE
25
26bigger refactoring
27------------------
470575df 28put iolist, timerlist & child-handling into backend to reduce the usage of global objects
21ffe77a
GE
29make IOImplementations require a link to the backend they are used with
30
31ideas
32-----
33offer a common io-client or io-server, abstracting out the real communication channel used.
34makes it possible to switch between ways of communication at runtime
470575df
RP
35maybe filter-interface offers this functionality?
36
37boost::asio
38-----------
39feature comparison to boost::asio
40interface/usage comparison, what is more easy to use for our usecase?
41long-term: merge with boost::asio, maybe with additional lib or keep it a separate project?
f0804030
GE
42
43glue_t2n
44--------
45don't call doOneStep from within the fill_buffer()-variants
46- for the server-variants not that hard if you require that command_server::handle will be called on every socket-event
47- for the client: needs callback-interface on t2n-side, need to think about it