Skip to content

Commit dcd0151

Browse files
committed
Preparing for using state-machine.h in streams impl
Some minor updates to common.h to prep for using state-machine.h Separated out just to reduce the change set in the main PR.
1 parent e68685d commit dcd0151

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/workerd/api/streams/common.h

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,12 +303,19 @@ struct PipeToOptions {
303303
};
304304

305305
namespace StreamStates {
306-
struct Closed {};
306+
struct Closed {
307+
static constexpr kj::StringPtr NAME KJ_UNUSED = "closed"_kj;
308+
};
307309
using Errored = jsg::Value;
308310
struct Erroring {
311+
static constexpr kj::StringPtr NAME KJ_UNUSED = "erroring"_kj;
309312
jsg::Value reason;
310313

311314
Erroring(jsg::Value reason): reason(kj::mv(reason)) {}
315+
316+
void visitForGc(jsg::GcVisitor& visitor) {
317+
visitor.visit(reason);
318+
}
312319
};
313320
} // namespace StreamStates
314321

@@ -758,13 +765,18 @@ kj::Own<WritableStreamController> newWritableStreamInternalController(IoContext&
758765
kj::Maybe<uint64_t> maybeHighWaterMark = kj::none,
759766
kj::Maybe<jsg::Promise<void>> maybeClosureWaitable = kj::none);
760767

761-
struct Unlocked {};
762-
struct Locked {};
768+
struct Unlocked {
769+
static constexpr kj::StringPtr NAME KJ_UNUSED = "unlocked"_kj;
770+
};
771+
struct Locked {
772+
static constexpr kj::StringPtr NAME KJ_UNUSED = "locked"_kj;
773+
};
763774

764775
// When a reader is locked to a ReadableStream, a ReaderLock instance
765776
// is used internally to represent the locked state in the ReadableStreamController.
766777
class ReaderLocked {
767778
public:
779+
static constexpr kj::StringPtr NAME KJ_UNUSED = "reader-locked"_kj;
768780
ReaderLocked(ReadableStreamController::Reader& reader,
769781
jsg::Promise<void>::Resolver closedFulfiller,
770782
kj::Maybe<IoOwn<kj::Canceler>> canceler = kj::none)
@@ -817,6 +829,7 @@ class ReaderLocked {
817829
// is used internally to represent the locked state in the WritableStreamController.
818830
class WriterLocked {
819831
public:
832+
static constexpr kj::StringPtr NAME KJ_UNUSED = "writer-locked"_kj;
820833
WriterLocked(WritableStreamController::Writer& writer,
821834
jsg::Promise<void>::Resolver closedFulfiller,
822835
kj::Maybe<jsg::Promise<void>::Resolver> readyFulfiller = kj::none)

0 commit comments

Comments
 (0)