Have you considered using sockets? You'd have to use local-domain sockets (AF_UNIX or AF_LOCAL (same thing)) for high performance. These can only be used locally and are represented as a node in the filesystem. They're nice, because if you ever chose to allow access across the network (via sockets w/ AF_INET), it'll be simple to implement, but you get the benefit of having local IPC speeds for local processes.
|