Revision: 14332
Author: adrian.chadd
Date: Mon Oct 19 00:23:37 2009
Log: Created wiki page through web user interface.
http://code.google.com/p/lusca-cache/source/detail?r=14332

Added:
  /wiki/LuscaArchitectureHelperIPC.wiki

=======================================
--- /dev/null
+++ /wiki/LuscaArchitectureHelperIPC.wiki       Mon Oct 19 00:23:37 2009
@@ -0,0 +1,28 @@
+#summary How Lusca implements generic IPC to helper processes
+#labels Architecture
+
+= Introduction =
+
+Lusca uses external processes for a variety of tasks. The IPC library  
implements a simple wrapper for running and communicating with external  
processes.
+
+= Overview =
+
+The IPC code is in libhelper/ipc.[ch]. This implements the basic function  
which executes an external helper (ipcCreate()) and creates the read and  
write sockets used for communication.
+
+The IPC code uses the libiapp/ library for socket communication events.
+
+= Different IPC types =
+
+There is a variety of IPC types implemented in the IPC layer.
+
+ * ICP_TCP_SOCKET
+ * IPC_UDP_SOCKET
+ * IPC_FIFO
+ * IPC_UNIX_STREAM
+ * IPC_UNIX_DGRAM
+
+It isn't immediately clear what the specific circumstances surrounding  
each of these IPC methods is for. By and large, one should use the stream  
tyeps (TCP, STREAM, FIFO) rather than the datagram types unless you are  
certain you know what you're doing.
+
+As far as the existing code is concerned - all the modules use IPC_STREAM  
(mapping to one of the TCP/FIFO/STREAM types) save for the ICMP code which  
uses IPC_DGRAM (mapping to one of the UDP/DGRAM types.)
+
+= Using the API =

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"lusca-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/lusca-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to