Client/Server methods for processing session packets
Hello,
I am working on an open source network accelerator (OpenNOP) for using in an enterprise WAN. Currently it can only compresses TCP segment payload using LZ compression but I want to expand this to application specific acceleration. In the current system there are only a few threads that process the packets as they enter the system. This works ok when the packet either gets compressed/decompressed or does not get compressed/decompressed.
To do application specific stuff I think that each session would need its own worker thread to processed and accelerator that sessions traffic. I image thats how Samba/NFS handle their the traffic of each session/connection so it would seem like I will need to do something similar. For each session I would spawn one of these application specific threads and allow that to handle all the acceleration stuff for that session. If its a CIFS, NFS, IMAP, SQL it would spawn a thread specific to that traffic type.
I would love to see if there are any other options to get the same job done but I am just not that familiar with C to know of a better way.
Thanks.
|