I've kind of been holding off this in hopes that turning the status codes into a flag structure instead of an enum would make it simpler. That seems not to be happening anytime soon and we are getting a growing number of TCP_MISS labelled actions that are not traditional cache MISS.
So here is the set of proposed new codes: TCP_TUNNEL - initially for CONNECT requests which Squid serves Direct. Also to be used in future if Squid accepts an Upgrade request for protocols like WebSockets TCP_RELAY - for requests which Squid serves without even considering the stored content. ie CONNECT relayed to cache_peer, requests forced to be MISS by "cache deny" or size limits, etc The key property being that these can never be a HIT so dont worry about it when trying to reduce MISS. TCP_SHARED_* - to indicate collapsed forwarding on the request. Similar in principle to the TCP_CLIENT_* and TCP_REFRESH_* labels indicating client forced something to happen or revalidation took place. Mainly so people can measure the difference between reguler HIT/MISS and SHARED_HIT/MISS to determine if collapsed forwarding is worth it. Amos