+ cost_cbs.clear();
+}
+
+namespace simgrid::smpi {
+
+xbt::Extension<s4u::Host, smpi::Host> Host::EXTENSION_ID;
+
+double Host::orecv(size_t size, s4u::Host* src, s4u::Host* dst)
+{
+ /* return user's callback if available */
+ if (auto it = cost_cbs.find(SmpiOperation::RECV); it != cost_cbs.end())
+ return it->second(size, src, dst);
+
+ /* fallback to smpi/or config */