mod_echo still uses ap_bread, ap_bwrite and ap_bflush...
for( ; ; )
{
apr_ssize_t r, w;
(void) ap_bread(c->client,buf,sizeof buf,&r);
if(r <= 0)
break;
(void) ap_bwrite(c->client,buf,r, &w);
if(w != r)
break;
ap_bflush(c->client);
}
david