async_write should be private