1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_BROWSER_GLOBAL_ROUTING_ID_H_ 6 #define CONTENT_PUBLIC_BROWSER_GLOBAL_ROUTING_ID_H_ 7 8 namespace content { 9 10 // Uniquely identifies the route from which a net::URLRequest comes. 11 struct GlobalRoutingID { 12 GlobalRoutingID() : child_id(-1), route_id(-1) { 13 } 14 15 GlobalRoutingID(int child_id, int route_id) 16 : child_id(child_id), 17 route_id(route_id) { 18 } 19 20 // The unique ID of the child process (different from OS's PID). 21 int child_id; 22 23 // The route ID (unique for each URLRequest source). 24 int route_id; 25 26 bool operator<(const GlobalRoutingID& other) const { 27 if (child_id == other.child_id) 28 return route_id < other.route_id; 29 return child_id < other.child_id; 30 } 31 bool operator==(const GlobalRoutingID& other) const { 32 return child_id == other.child_id && 33 route_id == other.route_id; 34 } 35 bool operator!=(const GlobalRoutingID& other) const { 36 return !(*this == other); 37 } 38 }; 39 40 } // namespace content 41 42 #endif // CONTENT_PUBLIC_BROWSER_GLOBAL_ROUTING_ID_H_ 43