Skip to content

Commit f01bb10

Browse files
authored
Merge pull request #5679 from cloudflare/jasnell/refcountedwrapper-duplication
2 parents 73800bc + 2c1bb25 commit f01bb10

File tree

2 files changed

+3
-19
lines changed

2 files changed

+3
-19
lines changed

src/workerd/api/kv.c++

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,7 @@ jsg::Promise<jsg::JsRef<jsg::JsMap>> KvNamespace::getBulk(jsg::Lock& js,
179179
[client = kj::mv(client), urlStr = kj::mv(urlStr), headers = kj::mv(headers),
180180
expectedBodySize, supportedBody = kj::mv(body)]() mutable {
181181
auto innerReq = client->request(kj::HttpMethod::POST, urlStr, headers, expectedBodySize);
182-
struct RefcountedWrapper: public kj::Refcounted {
183-
explicit RefcountedWrapper(kj::Own<kj::HttpClient> client): client(kj::mv(client)) {}
184-
kj::Own<kj::HttpClient> client;
185-
};
186-
auto rcClient = kj::refcounted<RefcountedWrapper>(kj::mv(client));
187-
auto req = attachToRequest(kj::mv(innerReq), kj::mv(rcClient));
182+
auto req = attachToRequest(kj::mv(innerReq), kj::refcountedWrapper(kj::mv(client)));
188183

189184
kj::Promise<void> writePromise = nullptr;
190185
writePromise = req.body->write(supportedBody.asBytes()).attach(kj::mv(supportedBody));
@@ -638,13 +633,8 @@ jsg::Promise<void> KvNamespace::put(jsg::Lock& js,
638633
[&context, client = kj::mv(client), urlStr = kj::mv(urlStr), headers = kj::mv(headers),
639634
expectedBodySize, supportedBody = kj::mv(supportedBody)]() mutable {
640635
auto innerReq = client->request(kj::HttpMethod::PUT, urlStr, headers, expectedBodySize);
641-
struct RefcountedWrapper: public kj::Refcounted {
642-
explicit RefcountedWrapper(kj::Own<kj::HttpClient> client): client(kj::mv(client)) {}
643-
kj::Own<kj::HttpClient> client;
644-
};
645-
auto rcClient = kj::refcounted<RefcountedWrapper>(kj::mv(client));
646636
// TODO(perf): More efficient to explicitly attach rcClient below?
647-
auto req = attachToRequest(kj::mv(innerReq), kj::mv(rcClient));
637+
auto req = attachToRequest(kj::mv(innerReq), kj::refcountedWrapper(kj::mv(client)));
648638

649639
kj::Promise<void> writePromise = nullptr;
650640
KJ_SWITCH_ONEOF(supportedBody) {

src/workerd/server/server.c++

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3225,13 +3225,7 @@ class Server::WorkerService final: public Service,
32253225
co_await context.waitForOutputLocks();
32263226

32273227
auto innerReq = client->request(kj::HttpMethod::POST, urlStr, headers, requestJson.size());
3228-
3229-
struct RefcountedWrapper: public kj::Refcounted {
3230-
explicit RefcountedWrapper(kj::Own<kj::HttpClient> client): client(kj::mv(client)) {}
3231-
kj::Own<kj::HttpClient> client;
3232-
};
3233-
auto rcClient = kj::refcounted<RefcountedWrapper>(kj::mv(client));
3234-
auto request = attachToRequest(kj::mv(innerReq), kj::mv(rcClient));
3228+
auto request = attachToRequest(kj::mv(innerReq), kj::refcountedWrapper(kj::mv(client)));
32353229

32363230
co_await request.body->write(requestJson.asBytes())
32373231
.attach(kj::mv(requestJson), kj::mv(request.body));

0 commit comments

Comments
 (0)