libsimpleio: (reinhard) removed; available as libasnyio now.
[libasyncio] / ideas.txt
CommitLineData
4f6228c3 1ideas/todo libsimpleio
21ffe77a
GE
2------------------------
3
4name
5-----
4f6228c3
RP
6don't use namespace i2n but namespace according to new project name
7
8ideas:
9libsimpleio
10libastiop (LIBrary for ASynchronous Timer, I/O and Process)
11libsimpleasio
12libasiocontrol
13libasiohandle
14libasioflow
15libasiomaster
16libiocontrol
17libasyncrap
18libasyncwrap
19libasyncio
21ffe77a
GE
20
21
22smaller refactoring
23-----------
24backend in separate file
25break backend::doOneStep in 4 functions
26document reason for ptrlist: keeps iterators valid during loops which do inserts/deletes
27separate ptrlist
28protect ptrlist against evil usage (e.g. forbid or overload erase, push_back, insert,...)
29separate MilliTime
30separate pollfd, maybe encapsulate the pollfd-struct instead of deriving from it
31separate polldatacluster
32document that timerbase is always based on monotonic clock, getrealwhentime converts the time live
33document handling of error-cases, m_errno (e.g. mask ENOTSOCK for non-socket fds)
f0804030 34provide simple replacements for system() and pipestream using simpleio and timeouts
21ffe77a
GE
35
36bigger refactoring
37------------------
4f6228c3 38put iolist & timerlist into backend to reduce the usage global objects
21ffe77a
GE
39make IOImplementations require a link to the backend they are used with
40
41ideas
42-----
43offer a common io-client or io-server, abstracting out the real communication channel used.
44makes it possible to switch between ways of communication at runtime
f0804030
GE
45
46glue_t2n
47--------
48don't call doOneStep from within the fill_buffer()-variants
49- for the server-variants not that hard if you require that command_server::handle will be called on every socket-event
50- for the client: needs callback-interface on t2n-side, need to think about it