Migrate libasyncio from boost.signal to signals2 (#8756)
[libasyncio] / ideas.txt
index d5a8258..c0af943 100644 (file)
--- a/ideas.txt
+++ b/ideas.txt
@@ -1,47 +1,35 @@
-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
 --------