@@ -303,12 +303,19 @@ struct PipeToOptions {
303303};
304304
305305namespace StreamStates {
306- struct Closed {};
306+ struct Closed {
307+ static constexpr kj::StringPtr NAME KJ_UNUSED = " closed" _kj;
308+ };
307309using Errored = jsg::Value;
308310struct 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.
766777class 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.
818830class 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