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

Function loadBalance

fdbclient/NativeAPI.actor.cpp:114–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112
113template <class Interface, class Request, bool P>
114Future<REPLY_TYPE(Request)> loadBalance(
115 DatabaseContext* ctx,
116 const Reference<LocationInfo> alternatives,
117 RequestStream<Request, P> Interface::*channel,
118 const Request& request = Request(),
119 TaskPriority taskID = TaskPriority::DefaultPromiseEndpoint,
120 AtMostOnce atMostOnce =
121 AtMostOnce::False, // if true, throws request_maybe_delivered() instead of retrying automatically
122 QueueModel* model = nullptr) {
123 if (alternatives->hasCaches) {
124 return loadBalance(alternatives->locations(), channel, request, taskID, atMostOnce, model);
125 }
126 return fmap(
127 [ctx](auto const& res) {
128 if (res.cached) {
129 ctx->updateCache.trigger();
130 }
131 return res;
132 },
133 loadBalance(alternatives->locations(), channel, request, taskID, atMostOnce, model));
134}
135} // namespace
136
137FDB_BOOLEAN_PARAM(TransactionRecordLogInfo);

Calls 3

RequestClass · 0.85
locationsMethod · 0.80
triggerMethod · 0.45

Tested by

no test coverage detected