Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
StreamProcessorTest Class Reference
Inheritance diagram for StreamProcessorTest:
Inheritance graph
Collaboration diagram for StreamProcessorTest:
Collaboration graph

Protected Member Functions

void SetUp () override
 
void TearDown () override
 
bool wait_for_flag (const std::atomic< bool > &flag, std::chrono::milliseconds timeout=std::chrono::milliseconds(500))
 
bool wait_for_count (const std::atomic< int > &counter, int target, std::chrono::milliseconds timeout=std::chrono::milliseconds(500))
 

Protected Attributes

std::shared_ptr< async_stub_backend > backend_
 
std::unique_ptr< stream_processorprocessor_
 

Detailed Description

Definition at line 1158 of file test_async_operations.cpp.

Member Function Documentation

◆ SetUp()

void StreamProcessorTest::SetUp ( )
inlineoverrideprotected

Definition at line 1160 of file test_async_operations.cpp.

1160 {
1161 backend_ = std::make_shared<async_stub_backend>();
1162 processor_ = std::make_unique<stream_processor>(backend_);
1163 }
std::unique_ptr< stream_processor > processor_
std::shared_ptr< async_stub_backend > backend_

References backend_, and processor_.

◆ TearDown()

void StreamProcessorTest::TearDown ( )
inlineoverrideprotected

Definition at line 1165 of file test_async_operations.cpp.

1165 {
1166 processor_.reset();
1167 }

References processor_.

◆ wait_for_count()

bool StreamProcessorTest::wait_for_count ( const std::atomic< int > & counter,
int target,
std::chrono::milliseconds timeout = std::chrono::milliseconds(500) )
inlineprotected

Definition at line 1181 of file test_async_operations.cpp.

1183 {
1184 auto deadline = std::chrono::steady_clock::now() + timeout;
1185 while (counter.load() < target && std::chrono::steady_clock::now() < deadline) {
1186 std::this_thread::sleep_for(std::chrono::milliseconds(5));
1187 }
1188 return counter.load() >= target;
1189 }

◆ wait_for_flag()

bool StreamProcessorTest::wait_for_flag ( const std::atomic< bool > & flag,
std::chrono::milliseconds timeout = std::chrono::milliseconds(500) )
inlineprotected

Definition at line 1170 of file test_async_operations.cpp.

1172 {
1173 auto deadline = std::chrono::steady_clock::now() + timeout;
1174 while (!flag.load() && std::chrono::steady_clock::now() < deadline) {
1175 std::this_thread::sleep_for(std::chrono::milliseconds(5));
1176 }
1177 return flag.load();
1178 }

Member Data Documentation

◆ backend_

std::shared_ptr<async_stub_backend> StreamProcessorTest::backend_
protected

Definition at line 1191 of file test_async_operations.cpp.

Referenced by SetUp().

◆ processor_

std::unique_ptr<stream_processor> StreamProcessorTest::processor_
protected

Definition at line 1192 of file test_async_operations.cpp.

Referenced by SetUp(), and TearDown().


The documentation for this class was generated from the following file: