stream connection mesurements
Some checks are pending
ContinuousDelivery / linux-ubuntu (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Waiting to run
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Waiting to run
ContinuousDelivery / windows (push) Waiting to run
ContinuousDelivery / windows-asan (push) Waiting to run
ContinuousDelivery / dumpsyms (push) Blocked by required conditions
ContinuousDelivery / release (push) Blocked by required conditions
ContinuousIntegration / linux (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android]) (push) Waiting to run
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Waiting to run
ContinuousIntegration / macos (push) Waiting to run
ContinuousIntegration / windows (push) Waiting to run

This commit is contained in:
Green Sky
2025-03-22 12:14:14 +01:00
parent 1fb590dfc1
commit 0f85bcc128
7 changed files with 162 additions and 7 deletions

View File

@@ -113,6 +113,8 @@ bool StreamManager::disconnectAll(Object o) {
// do we need the time delta?
float StreamManager::tick(float) {
float interval_min {2.01f};
// pump all mainthread connections
for (auto it = _connections.begin(); it != _connections.end();) {
auto& con = **it;
@@ -125,6 +127,10 @@ float StreamManager::tick(float) {
if (con.on_main_thread) {
con.pump_fn(con);
const float con_interval = con.interval_avg;
if (con_interval > 0.f) {
interval_min = std::min(interval_min, con_interval);
}
}
if (con.stop && (con.finished || con.on_main_thread)) {
@@ -139,8 +145,7 @@ float StreamManager::tick(float) {
}
}
// return min over intervals instead
return 2.f; // TODO: 2sec makes mainthread connections unusable
return interval_min;
}
bool StreamManager::onEvent(const ObjectStore::Events::ObjectConstruct& e) {