load balancing

Matthew Dillon dillon at apollo.backplane.com
Tue Oct 31 16:58:09 PST 2006


:are you thinking of a way to bond two file descriptors together?  that wo=
:uld be nice.  first you do all header processing and whatnot, and then yo=
:u just say
:
:bond_fd(server_fd /* read side */, client_fd /* write side */);
:
:and you can't read on server_fd anymore, and all data arriving there will=
: be directly written to client_fd.  this way you still could read the cli=
:ent piplined/keep-alive headers, but once your server has initiated trans=
:fers, you are not interested in seeing the data from the server any more,=
: it should just pass the box into the other tcp stream.  you could even r=
:ecycle the mbuf, if you optimize the bonding deep enough - basically a se=
:ndfile for sockets.
:
:cheers
:  simon

    It is theoretically possible to bond two sockets together and 
    transfer the data at the mbuf layer, which would yield a zero-copy
    solution.

						-Matt






More information about the Users mailing list