Context* getRootContext(const std::shared_ptr<PluginBase>& plugin, bool allow_closed) override {
std::shared_ptr<Wasm> sharedThis() { return std::static_pointer_cast<Wasm>(shared_from_this()); }
uint32_t rootContextId() { return wasm_handle_->wasm()->getRootContext(plugin_, false)->id(); }
// Returns false if createWasm failed synchronously. This is necessary because xDS *MUST* report
// asynchronously. Callers should throw an exception if they are part of a synchronous xDS update
getOrCreateThreadLocalPlugin(const WasmHandleSharedPtr& base_wasm, const PluginSharedPtr& plugin,