-ideas/todo libsimpleio
+ideas/todo libasyncio
------------------------
-name
------
-don't use namespace i2n but namespace according to new project name
-
-ideas:
-libsimpleio
-libastiop (LIBrary for ASynchronous Timer, I/O and Process)
-libsimpleasio
-libasiocontrol
-libasiohandle
-libasioflow
-libasiomaster
-libiocontrol
-libasyncrap
-libasyncwrap
-libasyncio
-
-
smaller refactoring
-----------
+remove dependencies to libi2ncommon
+documentation, usage examples, website
backend in separate file
break backend::doOneStep in 4 functions
-document reason for ptrlist: keeps iterators valid during loops which do inserts/deletes
-separate ptrlist
-protect ptrlist against evil usage (e.g. forbid or overload erase, push_back, insert,...)
-separate MilliTime
separate pollfd, maybe encapsulate the pollfd-struct instead of deriving from it
separate polldatacluster
document that timerbase is always based on monotonic clock, getrealwhentime converts the time live
document handling of error-cases, m_errno (e.g. mask ENOTSOCK for non-socket fds)
provide simple replacements for system() and pipestream using simpleio and timeouts
+steal idea from pike-dvd-script: pipe-like program-chain
bigger refactoring
------------------
-put iolist & timerlist into backend to reduce the usage global objects
+put iolist, timerlist & child-handling into backend to reduce the usage of global objects
make IOImplementations require a link to the backend they are used with
ideas
-----
offer a common io-client or io-server, abstracting out the real communication channel used.
makes it possible to switch between ways of communication at runtime
+maybe filter-interface offers this functionality?
+
+boost::asio
+-----------
+feature comparison to boost::asio
+interface/usage comparison, what is more easy to use for our usecase?
+long-term: merge with boost::asio, maybe with additional lib or keep it a separate project?
glue_t2n
--------