I think maybe the current code have two problems:
1. if the ua_buffer_reader is not empty (for keepalive or pipeline),
the instance of http_sm may be deleted before
state_read_client_request_header return. When http_tunnel
callbacked with the VC_EVENT_ERROR,
httpsm will delete itself if retry_count == 1, but it will touch
the HttpCacheSM`s member variable.
2. If the ua aborted but ua_buffer_reader is not empty (for keepalive or
pipeline), the current code not reenable the client_vc,
which means the state_watch_client_abort will not be called. is it
ok or not ?