The idea is to have a directory where users can create arbitrary named pipes. tcollector will watch this directory (to find out when named pipes get added or removed) and will read from all the pipes. tcollector will expect to read the same kind of format from these pipes as it does from its collector child processes. In the main loop of tcollector, we need to look for new named pipes, open them if necessary, then select on all the FDs to find which ones have become readable and read from them.
tcollector would also need a flag to indicate which directory is the directory to watch for named pipes.