| 180 | } |
| 181 | |
| 182 | void CoroutineRunner::enqueue(CoroutineContext* ctx) FL_NOEXCEPT { |
| 183 | if (!ctx) return; |
| 184 | |
| 185 | // Check for duplicates |
| 186 | for (size_t i = 0; i < mCount; ++i) { |
| 187 | if (mQueue[i] == ctx) return; |
| 188 | } |
| 189 | |
| 190 | if (mCount >= kMaxCoroutines) { |
| 191 | FL_WARN("CoroutineRunner: Queue full, cannot enqueue"); |
| 192 | return; |
| 193 | } |
| 194 | |
| 195 | mQueue[mCount++] = ctx; |
| 196 | } |
| 197 | |
| 198 | void CoroutineRunner::remove(CoroutineContext* ctx) FL_NOEXCEPT { |
| 199 | for (size_t i = 0; i < mCount; ++i) { |
no outgoing calls
no test coverage detected