Skip to content

Commit 3f39760

Browse files
THolder -> std::unique_ptr in client (#271)
1 parent 4b35ec1 commit 3f39760

File tree

27 files changed

+87
-86
lines changed

27 files changed

+87
-86
lines changed

examples/topic_reader/eventloop/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ int main(int argc, const char* argv[]) {
5555
.SetEndpoint(opts.Endpoint)
5656
.SetDatabase(opts.Database)
5757
.SetAuthToken(std::getenv("YDB_TOKEN") ? std::getenv("YDB_TOKEN") : "")
58-
.SetLog(CreateLogBackend("cerr"));
58+
.SetLog(std::unique_ptr<TLogBackend>(CreateLogBackend("cerr").Release()));
5959

6060
if (opts.UseSecureConnection) {
6161
driverConfig.UseSecureConnection();

examples/topic_reader/simple/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ int main(int argc, const char* argv[]) {
5555
.SetEndpoint(opts.Endpoint)
5656
.SetDatabase(opts.Database)
5757
.SetAuthToken(std::getenv("YDB_TOKEN") ? std::getenv("YDB_TOKEN") : "")
58-
.SetLog(CreateLogBackend("cerr"));
58+
.SetLog(std::unique_ptr<TLogBackend>(CreateLogBackend("cerr").Release()));
5959

6060
if (opts.UseSecureConnection) {
6161
driverConfig.UseSecureConnection();

examples/topic_reader/transaction/application.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ TApplication::TApplication(const TOptions& options)
1313
.SetEndpoint(options.Endpoint)
1414
.SetDatabase(options.Database)
1515
.SetAuthToken(std::getenv("YDB_TOKEN") ? std::getenv("YDB_TOKEN") : "")
16-
.SetLog(CreateLogBackend("cerr", Min(options.LogPriority, TLOG_RESOURCES)));
16+
.SetLog(std::unique_ptr<TLogBackend>(CreateLogBackend("cerr", Min(options.LogPriority, TLOG_RESOURCES)).Release()));
1717
if (options.UseSecureConnection) {
1818
config.UseSecureConnection();
1919
}

include/ydb-cpp-sdk/client/driver/driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ class TDriverConfig {
118118
TDriverConfig& SetMaxMessageSize(ui64 maxMessageSize);
119119

120120
//! Log backend.
121-
TDriverConfig& SetLog(THolder<TLogBackend> log);
121+
TDriverConfig& SetLog(std::unique_ptr<TLogBackend>&& log);
122122
private:
123123
class TImpl;
124124
std::shared_ptr<TImpl> Impl_;

include/ydb-cpp-sdk/client/federated_topic/federated_topic.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ class TDeferredCommit {
239239

240240
private:
241241
class TImpl;
242-
THolder<TImpl> Impl;
242+
std::unique_ptr<TImpl> Impl;
243243
};
244244

245245
//! Event debug string.
@@ -507,7 +507,7 @@ class TFederatedTopicClient {
507507
// executors from settings are passed to subclients
508508
TFederatedTopicClient(const TDriver& driver, const TFederatedTopicClientSettings& settings = {});
509509

510-
void ProvideCodec(NTopic::ECodec codecId, THolder<NTopic::ICodec>&& codecImpl);
510+
void ProvideCodec(NTopic::ECodec codecId, std::unique_ptr<NTopic::ICodec>&& codecImpl);
511511

512512
//! Create read session.
513513
std::shared_ptr<IFederatedReadSession> CreateReadSession(const TFederatedReadSessionSettings& settings);
@@ -517,7 +517,7 @@ class TFederatedTopicClient {
517517
std::shared_ptr<NTopic::IWriteSession> CreateWriteSession(const TFederatedWriteSessionSettings& settings);
518518

519519
protected:
520-
void OverrideCodec(NTopic::ECodec codecId, THolder<NTopic::ICodec>&& codecImpl);
520+
void OverrideCodec(NTopic::ECodec codecId, std::unique_ptr<NTopic::ICodec>&& codecImpl);
521521

522522
private:
523523
std::shared_ptr<TImpl> Impl_;

include/ydb-cpp-sdk/client/iam/common/iam.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class TGrpcIamCredentialsProvider : public ICredentialsProvider {
7777
class TImpl : public std::enable_shared_from_this<TGrpcIamCredentialsProvider<TRequest, TResponse, TService>::TImpl> {
7878
public:
7979
TImpl(const TIamEndpoint& iamEndpoint, const TRequestFiller& requestFiller)
80-
: Client(MakeHolder<NYdbGrpc::TGRpcClientLow>())
80+
: Client(std::make_unique<NYdbGrpc::TGRpcClientLow>())
8181
, Connection_(nullptr)
8282
, Ticket_("")
8383
, NextTicketUpdate_(TInstant::Zero())
@@ -92,7 +92,7 @@ class TGrpcIamCredentialsProvider : public ICredentialsProvider {
9292
NYdbGrpc::TGRpcClientConfig grpcConf;
9393
grpcConf.Locator = IamEndpoint_.Endpoint;
9494
grpcConf.EnableSsl = IamEndpoint_.EnableSsl;
95-
Connection_ = THolder<NYdbGrpc::TServiceConnection<TService>>(Client->CreateGRpcServiceConnection<TService>(grpcConf).release());
95+
Connection_ = std::unique_ptr<NYdbGrpc::TServiceConnection<TService>>(Client->CreateGRpcServiceConnection<TService>(grpcConf).release());
9696
}
9797

9898
void UpdateTicket(bool sync = false) {
@@ -155,7 +155,7 @@ class TGrpcIamCredentialsProvider : public ICredentialsProvider {
155155
NeedStop_ = true;
156156
}
157157

158-
Client.Reset(); // Will trigger destroy
158+
Client.reset(); // Will trigger destroy
159159
}
160160

161161
private:
@@ -197,8 +197,8 @@ class TGrpcIamCredentialsProvider : public ICredentialsProvider {
197197

198198
private:
199199

200-
THolder<NYdbGrpc::TGRpcClientLow> Client;
201-
THolder<NYdbGrpc::TServiceConnection<TService>> Connection_;
200+
std::unique_ptr<NYdbGrpc::TGRpcClientLow> Client;
201+
std::unique_ptr<NYdbGrpc::TServiceConnection<TService>> Connection_;
202202
std::string Ticket_;
203203
TInstant NextTicketUpdate_;
204204
const TIamEndpoint IamEndpoint_;

include/ydb-cpp-sdk/client/topic/client.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class TTopicClient {
2323

2424
TTopicClient(const TDriver& driver, const TTopicClientSettings& settings = TTopicClientSettings());
2525

26-
void ProvideCodec(ECodec codecId, THolder<ICodec>&& codecImpl);
26+
void ProvideCodec(ECodec codecId, std::unique_ptr<ICodec>&& codecImpl);
2727

2828
// Create a new topic.
2929
TAsyncStatus CreateTopic(const std::string& path, const TCreateTopicSettings& settings = {});
@@ -55,7 +55,7 @@ class TTopicClient {
5555
const TCommitOffsetSettings& settings = {});
5656

5757
protected:
58-
void OverrideCodec(ECodec codecId, THolder<ICodec>&& codecImpl);
58+
void OverrideCodec(ECodec codecId, std::unique_ptr<ICodec>&& codecImpl);
5959

6060
private:
6161
std::shared_ptr<TImpl> Impl_;

include/ydb-cpp-sdk/client/topic/codecs.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <ydb-cpp-sdk/util/system/spinlock.h>
1111

1212
#include <unordered_map>
13+
#include <memory>
1314

1415
namespace NYdb::NTopic {
1516

@@ -36,7 +37,7 @@ class ICodec {
3637
public:
3738
virtual ~ICodec() = default;
3839
virtual std::string Decompress(const std::string& data) const = 0;
39-
virtual THolder<IOutputStream> CreateCoder(TBuffer& result, int quality) const = 0;
40+
virtual std::unique_ptr<IOutputStream> CreateCoder(TBuffer& result, int quality) const = 0;
4041
};
4142

4243
class TGzipCodec final : public ICodec {
@@ -58,8 +59,8 @@ class TGzipCodec final : public ICodec {
5859
return result;
5960
}
6061

61-
THolder<IOutputStream> CreateCoder(TBuffer& result, int quality) const override {
62-
return MakeHolder<TZLibToStringCompressor>(result, ZLib::GZip, quality >= 0 ? quality : 6);
62+
std::unique_ptr<IOutputStream> CreateCoder(TBuffer& result, int quality) const override {
63+
return std::make_unique<TZLibToStringCompressor>(result, ZLib::GZip, quality >= 0 ? quality : 6);
6364
}
6465
};
6566

@@ -82,8 +83,8 @@ class TZstdCodec final : public ICodec {
8283
return result;
8384
}
8485

85-
THolder<IOutputStream> CreateCoder(TBuffer& result, int quality) const override {
86-
return MakeHolder<TZstdToStringCompressor>(result, quality);
86+
std::unique_ptr<IOutputStream> CreateCoder(TBuffer& result, int quality) const override {
87+
return std::make_unique<TZstdToStringCompressor>(result, quality);
8788
}
8889
};
8990

@@ -92,7 +93,7 @@ class TUnsupportedCodec final : public ICodec {
9293
throw yexception() << "use of unsupported codec";
9394
}
9495

95-
THolder<IOutputStream> CreateCoder(TBuffer&, int) const override {
96+
std::unique_ptr<IOutputStream> CreateCoder(TBuffer&, int) const override {
9697
throw yexception() << "use of unsupported codec";
9798
}
9899
};
@@ -104,7 +105,7 @@ class TCodecMap {
104105
return instance;
105106
}
106107

107-
void Set(ui32 codecId, THolder<ICodec>&& codecImpl) {
108+
void Set(ui32 codecId, std::unique_ptr<ICodec>&& codecImpl) {
108109
with_lock(Lock) {
109110
Codecs[codecId] = std::move(codecImpl);
110111
}
@@ -115,7 +116,7 @@ class TCodecMap {
115116
if (!Codecs.contains(codecId)) {
116117
throw yexception() << "codec with id " << ui32(codecId) << " not provided";
117118
}
118-
return Codecs.at(codecId).Get();
119+
return Codecs.at(codecId).get();
119120
}
120121
}
121122

@@ -129,7 +130,7 @@ class TCodecMap {
129130
TCodecMap() = default;
130131

131132
private:
132-
std::unordered_map<ui32, THolder<ICodec>> Codecs;
133+
std::unordered_map<ui32, std::unique_ptr<ICodec>> Codecs;
133134
TAdaptiveLock Lock;
134135
};
135136

include/ydb-cpp-sdk/client/topic/read_events.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ class TDeferredCommit {
403403

404404
private:
405405
class TImpl;
406-
THolder<TImpl> Impl;
406+
std::unique_ptr<TImpl> Impl;
407407
};
408408

409409
//! Events debug strings.

src/client/coordination/coordination.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ class TSessionContext : public TThrRefBase {
483483
if (IsClosed()) {
484484
return MakeClosedResult<void>();
485485
}
486-
auto op = MakeHolder<TPingOp>();
486+
auto op = std::make_unique<TPingOp>();
487487
auto future = op->Promise.GetFuture();
488488
if (IsWriteAllowed()) {
489489
DoSendSimpleOp(std::move(op));
@@ -542,7 +542,7 @@ class TSessionContext : public TThrRefBase {
542542
if (IsClosed()) {
543543
return MakeClosedResult<TSemaphoreDescription>();
544544
}
545-
auto op = MakeHolder<TDescribeSemaphoreOp>(name, settings);
545+
auto op = std::make_unique<TDescribeSemaphoreOp>(name, settings);
546546
auto future = op->Promise.GetFuture();
547547
if (IsWriteAllowed()) {
548548
DoSendSimpleOp(std::move(op));
@@ -557,7 +557,7 @@ class TSessionContext : public TThrRefBase {
557557
if (IsClosed()) {
558558
return MakeClosedResult<void>();
559559
}
560-
auto op = MakeHolder<TCreateSemaphoreOp>(name, limit, data);
560+
auto op = std::make_unique<TCreateSemaphoreOp>(name, limit, data);
561561
auto future = op->Promise.GetFuture();
562562
if (IsWriteAllowed()) {
563563
DoSendSimpleOp(std::move(op));
@@ -572,7 +572,7 @@ class TSessionContext : public TThrRefBase {
572572
if (IsClosed()) {
573573
return MakeClosedResult<void>();
574574
}
575-
auto op = MakeHolder<TUpdateSemaphoreOp>(name, data);
575+
auto op = std::make_unique<TUpdateSemaphoreOp>(name, data);
576576
auto future = op->Promise.GetFuture();
577577
if (IsWriteAllowed()) {
578578
DoSendSimpleOp(std::move(op));
@@ -587,7 +587,7 @@ class TSessionContext : public TThrRefBase {
587587
if (IsClosed()) {
588588
return MakeClosedResult<void>();
589589
}
590-
auto op = MakeHolder<TDeleteSemaphoreOp>(name, force);
590+
auto op = std::make_unique<TDeleteSemaphoreOp>(name, force);
591591
auto future = op->Promise.GetFuture();
592592
if (IsWriteAllowed()) {
593593
DoSendSimpleOp(std::move(op));
@@ -696,7 +696,7 @@ class TSessionContext : public TThrRefBase {
696696
template<class TSource>
697697
void SetCurrentFailure(TSource&& source) {
698698
Y_ABORT_UNLESS(!CurrentFailure);
699-
CurrentFailure.Reset(new TStatus(std::forward<TSource>(source)));
699+
CurrentFailure = std::make_unique<TStatus>(std::forward<TSource>(source));
700700
}
701701

702702
template<class T>
@@ -846,7 +846,7 @@ class TSessionContext : public TThrRefBase {
846846
DoSemaphoreProcessQueue(state);
847847
}
848848

849-
ui64 DoSendSimpleOp(THolder<TSimpleOp> op) {
849+
ui64 DoSendSimpleOp(std::unique_ptr<TSimpleOp>&& op) {
850850
Y_ABORT_UNLESS(IsWriteAllowed());
851851
ui64 reqId = NextReqId++;
852852
TRequest req;
@@ -863,7 +863,7 @@ class TSessionContext : public TThrRefBase {
863863
if (it == SentRequests.end()) {
864864
return nullptr;
865865
}
866-
return dynamic_cast<TOperation*>(it->second.Get());
866+
return dynamic_cast<TOperation*>(it->second.get());
867867
}
868868

869869
private:
@@ -878,7 +878,7 @@ class TSessionContext : public TThrRefBase {
878878
TResultPromise<void> reconnectPromise;
879879
std::deque<TResultPromise<bool>> abortedSemaphoreOps;
880880
std::deque<TResultPromise<bool>> failedSemaphoreOps;
881-
std::deque<THolder<TSimpleOp>> failedSimpleOps;
881+
std::deque<std::unique_ptr<TSimpleOp>> failedSimpleOps;
882882
TResultPromise<void> closePromise;
883883

884884
{
@@ -947,7 +947,7 @@ class TSessionContext : public TThrRefBase {
947947
status = *CurrentFailure;
948948
} else {
949949
status = std::move(*CurrentFailure);
950-
CurrentFailure.Reset();
950+
CurrentFailure.reset();
951951
}
952952
}
953953

@@ -1190,9 +1190,9 @@ class TSessionContext : public TThrRefBase {
11901190
}
11911191

11921192
// Start reading responses
1193-
Response.Reset(new TResponse);
1193+
Response = std::make_unique<TResponse>();
11941194
processor->Read(
1195-
Response.Get(),
1195+
Response.get(),
11961196
[self = TPtr(this)] (auto status) {
11971197
self->OnRead(std::move(status));
11981198
});
@@ -1257,7 +1257,7 @@ class TSessionContext : public TThrRefBase {
12571257

12581258
void OnRead(TGrpcStatus grpcStatus) {
12591259
if (!grpcStatus.Ok()) {
1260-
Response.Reset();
1260+
Response.reset();
12611261
switch (HandleSessionDetach()) {
12621262
case ESessionDetachResult::Ok:
12631263
// Report grpc status to client
@@ -1280,15 +1280,15 @@ class TSessionContext : public TThrRefBase {
12801280

12811281
if (ProcessResponse(processor)) {
12821282
// Start reading the next response
1283-
Response.Reset(new TResponse);
1283+
Response = std::make_unique<TResponse>();
12841284
processor->Read(
1285-
Response.Get(),
1285+
Response.get(),
12861286
[self = TPtr(this)] (auto status) {
12871287
self->OnRead(std::move(status));
12881288
});
12891289
} else {
12901290
// Stop reading responses
1291-
Response.Reset();
1291+
Response.reset();
12921292
processor->Finish([self = TPtr(this)] (auto status) {
12931293
self->OnFinish(std::move(status));
12941294
});
@@ -1376,7 +1376,7 @@ class TSessionContext : public TThrRefBase {
13761376
nextTimerTimestamp = SessionLastKnownGoodTimestamp + Settings_.Timeout_ * (2.0 / 3.0);
13771377
} else {
13781378
// Send a new ping request right now
1379-
SessionSelfPingReqId = DoSendSimpleOp(MakeHolder<TPingOp>());
1379+
SessionSelfPingReqId = DoSendSimpleOp(std::make_unique<TPingOp>());
13801380
// We want to wait until either:
13811381
// 1. Expected session timeout from the client point of view
13821382
// 2. At least a quarter of session timeout from current time
@@ -1758,7 +1758,7 @@ class TSessionContext : public TThrRefBase {
17581758
ESessionState SessionState = ESessionState::DETACHED;
17591759
EConnectionState ConnectionState = EConnectionState::DISCONNECTED;
17601760

1761-
THolder<TStatus> CurrentFailure;
1761+
std::unique_ptr<TStatus> CurrentFailure;
17621762
TResultPromise<void> ClosedPromise;
17631763

17641764
// Used during a connection attempt for a custom timeout
@@ -1767,8 +1767,8 @@ class TSessionContext : public TThrRefBase {
17671767

17681768
std::unordered_map<std::string, TSemaphoreState> Semaphores;
17691769
std::unordered_map<ui64, TSemaphoreState*> SemaphoreByReqId;
1770-
std::deque<THolder<TSimpleOp>> PendingRequests;
1771-
std::unordered_map<ui64, THolder<TSimpleOp>> SentRequests;
1770+
std::deque<std::unique_ptr<TSimpleOp>> PendingRequests;
1771+
std::unordered_map<ui64, std::unique_ptr<TSimpleOp>> SentRequests;
17721772
TResultPromise<void> ReconnectPromise;
17731773

17741774
// These are used to manage session timeout
@@ -1791,7 +1791,7 @@ class TSessionContext : public TThrRefBase {
17911791
TDuration SessionReconnectDelay = TDuration::Zero();
17921792

17931793
IProcessor::TPtr Processor;
1794-
THolder<TResponse> Response;
1794+
std::unique_ptr<TResponse> Response;
17951795

17961796
ui64 SessionSeqNo = 0;
17971797
ui64 SessionId = 0;

src/client/driver/driver.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ TDriverConfig& TDriverConfig::SetMaxMessageSize(ui64 maxMessageSize) {
198198
return *this;
199199
}
200200

201-
TDriverConfig& TDriverConfig::SetLog(THolder<TLogBackend> log) {
202-
Impl_->Log.ResetBackend(std::move(log));
201+
TDriverConfig& TDriverConfig::SetLog(std::unique_ptr<TLogBackend>&& log) {
202+
Impl_->Log.ResetBackend(THolder(log.release()));
203203
return *this;
204204
}
205205

src/client/federated_topic/impl/federated_read_session.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ TFederatedReadSessionImpl::TFederatedReadSessionImpl(const TFederatedReadSession
6666
std::shared_ptr<TGRpcConnectionsImpl> connections,
6767
const TFederatedTopicClientSettings& clientSettings,
6868
std::shared_ptr<TFederatedDbObserver> observer,
69-
std::shared_ptr<std::unordered_map<NTopic::ECodec, THolder<NTopic::ICodec>>> codecs)
69+
std::shared_ptr<std::unordered_map<NTopic::ECodec, std::unique_ptr<NTopic::ICodec>>> codecs)
7070
: Settings(settings)
7171
, Connections(std::move(connections))
7272
, SubClientSettings(FromFederated(clientSettings))

0 commit comments

Comments
 (0)