httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject New logic for transport abstraction.
Date Tue, 13 Nov 2001 20:51:13 GMT

After reading Greg's notes this morning, I re-visited by current design for
the transport layer abstraction.  Here is the new design that I am currently

Any module can add a record to the ap_listen_rec list, either during config
parsing, or during the post_config stage.

The ap_listen_rec structure will get a new field, the accept_function field.
This field is a function pointer that accepts a connection.  The function will
take a void *, the socket from the ap_listen_rec structure, and a pool.  The
void * is a location for modules to return the accepted structure.

The create_connection hook will be passed the void * from the previous
function, and it will use the information in that structure to create the 
connection structure.

This should be abstract enough to allow for what Bill needs, while still leaving
the MPM in control of how the server passes sockets to worker threads.

I'll have a patch in about an hour.  BTW, this also has the advantage of 
allowing us to abstract out the accept logic in the Unix MPMs.

I'm going to commit this when I am done, and people can comment and make
changes.  Once this is done, I am hoping to work on the perchild MPM and
the proxy.


Ryan Bloom
Covalent Technologies

View raw message