// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_BASE_SESSION_USAGE_H_ #define NET_BASE_SESSION_USAGE_H_ namespace net { // This type distinguishes sessions carrying traffic through the destination // host from sessions carrying traffic directly to the host. Credentials such // as cookies are attached to `kDestination` sessions, but not to `kProxy` // sessions. This type is used in QUIC and SPDY session keys, together with a // proxy chain and host-port pair, to prevent pooling such sessions together. // // Examples: // // A session with no proxies at all will have a direct proxy chain and // `session_usage = kDestination`. // // A session to "dest" carried over one or more proxies will have those // proxies in its proxy chain, "dest" in its host-port pair, and `session_usage // = kDestination`. // // A session over "proxyA" to "proxyB" which is carrying tunneled traffic to // "dest" will have "proxyA" in its proxy chain, "proxyB in // its host-port pair, and `session_usage = kProxy`. enum class SessionUsage { … }; } // namespace net #endif // NET_BASE_SESSION_USAGE_H_