부르게 된다. core_filters.c에서 위 함수를 부르는 곳은 두 군데가 정의되어 있는데, sendfile_it_all 혹은 emulate_sendfile 함수가 불린 이후와, writev_it_all 함수가 불린 이후이다. 그러니까 위 함수가 호출되면 socket을 통해서 무언가 메시지가 전송된다는 것이다. (그 총량을 계산하는 모듈이 mod_logio이니까.)
mod_logio는 데이터를 처리하기 위해 두개의 filter를 등록하는데, input을 위한 filter와 output을 위한 filter가 그것이다. 각각 logio_in_filter 와 logio_out_filter 라는 이름의 함수로 정의되어 있고, 이것은 register_hooks 함수를 통해 등록된다. 또한 pre_connection 위치의 hook을 통해 (ap_hook_pre_connection 함수를 통해 등록된다) logio_pre_conn 함수가 등록되고, 이 함수는 내부적으로 ap_add_input_filter, ap_add_output_filter 함수를 호출하여 conn_rec 구조체에 자신의 native한 filter를 등록한다. 실제로 logio_in_filter 함수에서는 input된 byte를 계산하며, logio_out_filter 함수에서는 bucket flush를 등록하는데, 이것의 동작은 자세히 알지 못하겠다. (다만, output되는 byte도 이 filter에서 계산하려고 했던게 아니였을까, 추측만 할 뿐이다. ~_~;;)
mod_log_config는 ap_register_log_handler 라는 이름으로, 별도의 module에서 log option을 등록할 수 있게 확장하는데, mod_logio는 (register_hooks 함수에서) pre_config 단계에서 hook을 통해 (ap_hook_pre_config 함수를 통해 등록된다) logio_pre_config 함수를 등록하고, 여기에서 ap_register_log_handler 형식의 함수를 선언하여 자신의 extra logger option인 I 옵션과 O 옵션을 등록하게 된다.