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