MCPcopy Create free account
hub / github.com/apple/foundationdb / fire

Method fire

flow/include/flow/ThreadHelper.actor.h:211–226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209 bool canFire(int notMadeActive) const override { return true; }
210
211 void fire(const Void& value, int& loopDepth) override {
212 if (callbacks.size() > 10000)
213 TraceEvent(SevWarn, "LargeMultiCallback").detail("CallbacksSize", callbacks.size());
214
215 UNSTOPPABLE_ASSERT(loopDepth == 0);
216
217 while (callbacks.size()) {
218 auto cb = callbacks.back();
219 callbacks.pop_back();
220 cb->destroyHolder(cb->getHolder(this));
221 if (cb->canFire(0)) {
222 int ld = 0;
223 cb->fire(value, ld);
224 }
225 }
226 }
227
228 void error(const Error& err, int& loopDepth) override {
229 if (callbacks.size() > 10000)

Callers

nothing calls this directly

Calls 9

TraceEventClass · 0.85
detailMethod · 0.80
destroyHolderMethod · 0.80
getHolderMethod · 0.80
sizeMethod · 0.45
backMethod · 0.45
pop_backMethod · 0.45
canFireMethod · 0.45
fireMethod · 0.45

Tested by

no test coverage detected