diff --git a/src/client/federated_topic/impl/federated_write_session.cpp b/src/client/federated_topic/impl/federated_write_session.cpp index dc33eb2aab..be491f0498 100644 --- a/src/client/federated_topic/impl/federated_write_session.cpp +++ b/src/client/federated_topic/impl/federated_write_session.cpp @@ -43,6 +43,7 @@ TFederatedWriteSessionImpl::TFederatedWriteSessionImpl( , Log(Connections->GetLog()) , ClientEventsQueue(std::make_shared(Settings)) , BufferFreeSpace(Settings.MaxMemoryUsage_) + , HasBeenClosed(NThreading::NewPromise()) { } diff --git a/src/client/federated_topic/impl/federated_write_session.h b/src/client/federated_topic/impl/federated_write_session.h index efe85fbef0..9cfbce6aac 100644 --- a/src/client/federated_topic/impl/federated_write_session.h +++ b/src/client/federated_topic/impl/federated_write_session.h @@ -60,6 +60,25 @@ class TFederatedWriteSessionImpl : public NTopic::TContinuationTokenIssuer, { Message.Data = Data; } + + explicit TWrappedWriteMessage(const TWrappedWriteMessage& other) + : Data(other.Data) + , Message(other.Message) + { + Message.Data = Data; + } + + explicit TWrappedWriteMessage(TWrappedWriteMessage&& other) + : Data(std::move(other.Data)) + , Message(std::move(other.Message)) + { + Message.Data = Data; + } + + TWrappedWriteMessage& operator=(const TWrappedWriteMessage& other) = delete; + TWrappedWriteMessage& operator=(TWrappedWriteMessage&& other) = delete; + + ~TWrappedWriteMessage() = default; }; private: