Skip to content

Commit dc06f8a

Browse files
[*] refactoring
1 parent e9ccd40 commit dc06f8a

File tree

1 file changed

+26
-39
lines changed

1 file changed

+26
-39
lines changed

ydb/public/sdk/cpp/client/ydb_topic/ut/topic_to_table_ut.cpp

Lines changed: 26 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class TFixture : public NUnitTest::TBaseFixture {
3838
void Write(const TString& message, NTable::TTransaction* tx = nullptr);
3939

4040
size_t AckCount() const { return WrittenAckCount + WrittenInTxAckCount; }
41+
42+
void WaitForEvent();
4143
};
4244

4345
void SetUp(NUnitTest::TTestContext&) override;
@@ -595,26 +597,31 @@ auto TFixture::GetTopicReadSession(const TString& topicPath,
595597
void TFixture::TTopicWriteSessionContext::WaitForContinuationToken()
596598
{
597599
while (!ContinuationToken.Defined()) {
598-
Session->WaitEvent().Wait();
599-
for (auto& event : Session->GetEvents()) {
600-
if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TReadyToAcceptEvent>(&event)) {
601-
ContinuationToken = std::move(e->ContinuationToken);
602-
} else if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TAcksEvent>(&event)) {
603-
for (auto& ack : e->Acks) {
604-
switch (ack.State) {
605-
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN:
606-
++WrittenAckCount;
607-
break;
608-
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN_IN_TX:
609-
++WrittenInTxAckCount;
610-
break;
611-
default:
612-
break;
613-
}
600+
WaitForEvent();
601+
}
602+
}
603+
604+
void TFixture::TTopicWriteSessionContext::WaitForEvent()
605+
{
606+
Session->WaitEvent().Wait();
607+
for (auto& event : Session->GetEvents()) {
608+
if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TReadyToAcceptEvent>(&event)) {
609+
ContinuationToken = std::move(e->ContinuationToken);
610+
} else if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TAcksEvent>(&event)) {
611+
for (auto& ack : e->Acks) {
612+
switch (ack.State) {
613+
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN:
614+
++WrittenAckCount;
615+
break;
616+
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN_IN_TX:
617+
++WrittenInTxAckCount;
618+
break;
619+
default:
620+
break;
614621
}
615-
} else if (auto* e = std::get_if<NTopic::TSessionClosedEvent>(&event)) {
616-
UNIT_FAIL("");
617622
}
623+
} else if (auto* e = std::get_if<NTopic::TSessionClosedEvent>(&event)) {
624+
UNIT_FAIL("");
618625
}
619626
}
620627
}
@@ -713,27 +720,7 @@ void TFixture::WaitForAcks(const TString& topicPath, const TString& messageGroup
713720
UNIT_ASSERT(context.AckCount() <= context.WriteCount);
714721

715722
while (context.AckCount() < context.WriteCount) {
716-
context.Session->WaitEvent().Wait();
717-
for (auto& event : context.Session->GetEvents()) {
718-
if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TReadyToAcceptEvent>(&event)) {
719-
context.ContinuationToken = std::move(e->ContinuationToken);
720-
} else if (auto* e = std::get_if<NTopic::TWriteSessionEvent::TAcksEvent>(&event)) {
721-
for (auto& ack : e->Acks) {
722-
switch (ack.State) {
723-
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN:
724-
++context.WrittenAckCount;
725-
break;
726-
case NTopic::TWriteSessionEvent::TWriteAck::EES_WRITTEN_IN_TX:
727-
++context.WrittenInTxAckCount;
728-
break;
729-
default:
730-
break;
731-
}
732-
}
733-
} else if (auto* e = std::get_if<NTopic::TSessionClosedEvent>(&event)) {
734-
UNIT_FAIL("");
735-
}
736-
}
723+
context.WaitForEvent();
737724
}
738725

739726
UNIT_ASSERT((context.WrittenAckCount + context.WrittenInTxAckCount) == context.WriteCount);

0 commit comments

Comments
 (0)