Skip to content

Commit

Permalink
Merge pull request #3303 from cloudflare/dlapid/fix_HibernatableWebSo…
Browse files Browse the repository at this point in the history
…cketEventInfo_lifetimes
  • Loading branch information
danlapid authored Jan 8, 2025
2 parents 8a194ae + fd6bb68 commit ffd99ca
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
6 changes: 3 additions & 3 deletions src/workerd/api/trace.c++
Original file line number Diff line number Diff line change
Expand Up @@ -520,15 +520,15 @@ TraceItem::CustomEventInfo::CustomEventInfo(
: eventInfo(eventInfo) {}

TraceItem::HibernatableWebSocketEventInfo::HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message& eventInfo)
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message eventInfo)
: eventType(jsg::alloc<TraceItem::HibernatableWebSocketEventInfo::Message>(trace, eventInfo)) {}

TraceItem::HibernatableWebSocketEventInfo::HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close& eventInfo)
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close eventInfo)
: eventType(jsg::alloc<TraceItem::HibernatableWebSocketEventInfo::Close>(trace, eventInfo)) {}

TraceItem::HibernatableWebSocketEventInfo::HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error& eventInfo)
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error eventInfo)
: eventType(jsg::alloc<TraceItem::HibernatableWebSocketEventInfo::Error>(trace, eventInfo)) {}

TraceItem::HibernatableWebSocketEventInfo::Type TraceItem::HibernatableWebSocketEventInfo::
Expand Down
20 changes: 9 additions & 11 deletions src/workerd/api/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -455,11 +455,11 @@ class TraceItem::HibernatableWebSocketEventInfo final: public jsg::Object {
class Error;

explicit HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message& eventInfo);
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message eventInfo);
explicit HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close& eventInfo);
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close eventInfo);
explicit HibernatableWebSocketEventInfo(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error& eventInfo);
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error eventInfo);

using Type = kj::OneOf<jsg::Ref<Message>, jsg::Ref<Close>, jsg::Ref<Error>>;

Expand All @@ -478,7 +478,7 @@ class TraceItem::HibernatableWebSocketEventInfo final: public jsg::Object {
class TraceItem::HibernatableWebSocketEventInfo::Message final: public jsg::Object {
public:
explicit Message(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message& eventInfo)
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Message eventInfo)
: eventInfo(eventInfo) {}

static constexpr kj::StringPtr webSocketEventType = "message"_kj;
Expand All @@ -491,13 +491,12 @@ class TraceItem::HibernatableWebSocketEventInfo::Message final: public jsg::Obje
}

private:
const tracing::HibernatableWebSocketEventInfo::Message& eventInfo;
const tracing::HibernatableWebSocketEventInfo::Message eventInfo;
};

class TraceItem::HibernatableWebSocketEventInfo::Close final: public jsg::Object {
public:
explicit Close(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close& eventInfo)
explicit Close(const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Close eventInfo)
: eventInfo(eventInfo) {}

static constexpr kj::StringPtr webSocketEventType = "close"_kj;
Expand All @@ -515,13 +514,12 @@ class TraceItem::HibernatableWebSocketEventInfo::Close final: public jsg::Object
}

private:
const tracing::HibernatableWebSocketEventInfo::Close& eventInfo;
const tracing::HibernatableWebSocketEventInfo::Close eventInfo;
};

class TraceItem::HibernatableWebSocketEventInfo::Error final: public jsg::Object {
public:
explicit Error(
const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error& eventInfo)
explicit Error(const Trace& trace, const tracing::HibernatableWebSocketEventInfo::Error eventInfo)
: eventInfo(eventInfo) {}

static constexpr kj::StringPtr webSocketEventType = "error"_kj;
Expand All @@ -534,7 +532,7 @@ class TraceItem::HibernatableWebSocketEventInfo::Error final: public jsg::Object
}

private:
const tracing::HibernatableWebSocketEventInfo::Error& eventInfo;
const tracing::HibernatableWebSocketEventInfo::Error eventInfo;
};

class TraceItem::CustomEventInfo final: public jsg::Object {
Expand Down

0 comments on commit ffd99ca

Please sign in to comment.