Skip to content

Commit 8d1a7ac

Browse files
committed
Address review feedback
1 parent 926720f commit 8d1a7ac

File tree

8 files changed

+13
-28
lines changed

8 files changed

+13
-28
lines changed

src/workerd/api/streams/compression.c++

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,8 @@ class CompressionStreamBase: public kj::Refcounted,
249249
explicit CompressionStreamBase(kj::String format,
250250
Context::ContextFlags flags,
251251
kj::Arc<const jsg::ExternalMemoryTarget>&& externalMemoryTarget)
252-
: context(mode, format, flags, kj::mv(externalMemoryTarget)) {
253-
state.template transitionTo<Open>();
254-
}
252+
: state(decltype(state)::template create<Open>()),
253+
context(mode, format, flags, kj::mv(externalMemoryTarget)) {}
255254

256255
// WritableStreamSink implementation ---------------------------------------------------
257256

src/workerd/api/streams/identity-transform-stream.c++

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ class IdentityTransformStreamImpl final: public kj::Refcounted,
6060
public:
6161
// The limit is the maximum number of bytes that can be fed through the stream.
6262
// If kj::none, there is no limit.
63-
explicit IdentityTransformStreamImpl(kj::Maybe<uint64_t> limit = kj::none): limit(limit) {
64-
state.transitionTo<Idle>();
65-
}
63+
explicit IdentityTransformStreamImpl(kj::Maybe<uint64_t> limit = kj::none)
64+
: limit(limit),
65+
state(IdentityTransformState::create<Idle>()) {}
6666

6767
~IdentityTransformStreamImpl() noexcept(false) {
6868
// Due to the different natures of JS and C++ disposal, there is no point in enforcing the limit

src/workerd/api/streams/queue.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,6 @@ class ConsumerImpl final {
343343
: queue(queue),
344344
state(ConsumerState::template create<Ready>()),
345345
stateListener(stateListener) {
346-
state.template transitionTo<Ready>();
347346
queue.addConsumer(this);
348347
}
349348

src/workerd/api/streams/readable-source-adapter.c++

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -719,9 +719,7 @@ ReadableSourceKjAdapter::ReadableSourceKjAdapter(
719719
: state(KjState::create<KjOpen>(kj::heap<Active>(js, ioContext, kj::mv(stream)))),
720720
options(options),
721721
selfRef(
722-
kj::rc<WeakRef<ReadableSourceKjAdapter>>(kj::Badge<ReadableSourceKjAdapter>{}, *this)) {
723-
state.transitionTo<KjOpen>(kj::heap<Active>(js, ioContext, kj::mv(stream)));
724-
}
722+
kj::rc<WeakRef<ReadableSourceKjAdapter>>(kj::Badge<ReadableSourceKjAdapter>{}, *this)) {}
725723

726724
ReadableSourceKjAdapter::~ReadableSourceKjAdapter() noexcept(false) {
727725
selfRef->invalidate();

src/workerd/api/streams/readable.c++

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ namespace workerd::api {
1616

1717
ReaderImpl::ReaderImpl(ReadableStreamController::Reader& reader)
1818
: ioContext(tryGetIoContext()),
19-
reader(reader) {
20-
state.transitionTo<Initial>();
21-
}
19+
reader(reader),
20+
state(ReaderState::create<Initial>()) {}
2221

2322
ReaderImpl::~ReaderImpl() noexcept(false) {
2423
KJ_IF_SOME(attached, state.tryGetActiveUnsafe()) {

src/workerd/api/streams/standard.c++

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,11 +1168,7 @@ void ReadableImpl<Self>::pullIfNeeded(jsg::Lock& js, jsg::Ref<Self> self) {
11681168

11691169
template <typename Self>
11701170
void ReadableImpl<Self>::visitForGc(jsg::GcVisitor& visitor) {
1171-
KJ_IF_SOME(errored, state.template tryGetUnsafe<StreamStates::Errored>()) {
1172-
visitor.visit(errored);
1173-
} else KJ_IF_SOME(queue, state.template tryGetUnsafe<Queue>()) {
1174-
visitor.visit(queue);
1175-
}
1171+
state.visitForGc(visitor);
11761172
KJ_IF_SOME(pendingCancel, maybePendingCancel) {
11771173
visitor.visit(pendingCancel.fulfiller, pendingCancel.promise);
11781174
}
@@ -1636,11 +1632,7 @@ jsg::Promise<void> WritableImpl<Self>::write(
16361632

16371633
template <typename Self>
16381634
void WritableImpl<Self>::visitForGc(jsg::GcVisitor& visitor) {
1639-
KJ_IF_SOME(error, state.template tryGetUnsafe<StreamStates::Errored>()) {
1640-
visitor.visit(error);
1641-
} else KJ_IF_SOME(erroring, state.template tryGetUnsafe<StreamStates::Erroring>()) {
1642-
visitor.visit(erroring.reason);
1643-
}
1635+
state.visitForGc(visitor);
16441636
visitor.visit(inFlightWrite, inFlightClose, closeRequest, algorithms, signal);
16451637
KJ_IF_SOME(pendingAbort, maybePendingAbort) {
16461638
visitor.visit(*pendingAbort);

src/workerd/api/streams/writable-sink-adapter.c++

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,6 @@ WritableStreamSinkJsAdapter::WritableStreamSinkJsAdapter(
134134
backpressureState(newBackpressureState(js)),
135135
selfRef(kj::rc<WeakRef<WritableStreamSinkJsAdapter>>(
136136
kj::Badge<WritableStreamSinkJsAdapter>{}, *this)) {
137-
state.transitionTo<Open>(
138-
ioContext.addObject(kj::heap<Active>(kj::mv(sink), kj::mv(options).orDefault({}))));
139137
// We want the initial backpressure state to be "ready".
140138
backpressureState.release(js);
141139
}

src/workerd/api/streams/writable.c++

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
namespace workerd::api {
1212

13-
WritableStreamDefaultWriter::WritableStreamDefaultWriter(): ioContext(tryGetIoContext()) {
14-
state.transitionTo<Initial>();
15-
}
13+
WritableStreamDefaultWriter::WritableStreamDefaultWriter()
14+
: ioContext(tryGetIoContext()),
15+
state(WriterState::create<Initial>()) {}
1616

1717
WritableStreamDefaultWriter::~WritableStreamDefaultWriter() noexcept(false) {
1818
KJ_IF_SOME(attached, state.tryGetActiveUnsafe()) {

0 commit comments

Comments
 (0)