[or-cvs] Add C library issues to control lib TODO

Nick Mathewson nickm at seul.org
Fri Jul 15 22:42:20 UTC 2005

Update of /home/or/cvsroot/control
In directory moria:/tmp/cvs-serv20080

Modified Files:
Log Message:
Add C library issues to control lib TODO

Index: TODO
RCS file: /home/or/cvsroot/control/TODO,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- TODO	14 Jul 2005 20:55:10 -0000	1.3
+++ TODO	15 Jul 2005 22:42:18 -0000	1.4
@@ -7,3 +7,22 @@
   people to do on the contest, especially how to launch Tor securely.
 - There should be functions to get and parse the fancier values from get-info
+- A C library would be cool, but there are obstacles.  (These are annoying,
+  not impossible.)
+    - Cross-platform issues.  Not everybody handles sockets the same way, and
+      that sucks.  Also, you can't count on a decent threads implementation.
+    - Async issues.  To receive asynchronous events from Tor, the controller
+      can't just follow a simple write-command/read-reply strategy.  It needs
+      to either:
+        - have a separate thread read asynchronously
+        - muck with select/poll/epoll/kpoll/libevent.
+        - force the developer to muck with threads or asynchonous IO
+   - Once you've solved the two problems above, you have another hurdle if
+     you want your library to be embedded in other languages: You want to
+     play nice with whatever solution those languages use for the above
+     problems, while still playing nicely with C.

More information about the tor-commits mailing list