#ifndef CONTENT_PUBLIC_BROWSER_GLOBAL_REQUEST_ID_H_
#define CONTENT_PUBLIC_BROWSER_GLOBAL_REQUEST_ID_H_
#include <compare>
#include "base/numerics/safe_conversions.h"
#include "content/common/content_export.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
namespace content {
struct CONTENT_EXPORT GlobalRequestID {
GlobalRequestID() = default;
GlobalRequestID(base::StrictNumeric<int32_t> child_id,
base::StrictNumeric<int32_t> request_id)
: child_id(child_id), request_id(request_id) {}
int32_t child_id = -1;
int32_t request_id = -1;
static GlobalRequestID MakeBrowserInitiated();
auto operator<=>(const GlobalRequestID& other) const = default;
void WriteIntoTrace(perfetto::TracedValue context) const;
};
}
#endif