buffer incoming connections until data arrives
This is a filter to be placed on a socket that will be using
accept() to receive incoming connections.
It prevents the application from receiving the connected
accept() until data arrives on the
The ACCEPT_FILTER_DATA kernel option is also
a module that can be enabled at runtime via kldload(8) if
the INET option has been compiled into the kernel.
Assuming ACCEPT_FILTER_DATA has been included in the kernel config file or the
accf_data module has been loaded, this will enable the
data accept filter on the socket sok.
struct accept_filter_arg afa;
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
The accept filter mechanism and the accf_data filter were introduced in
This manual page and the filter were written by Alfred