Kagome
Polkadot Runtime Engine in C++17
kagome::runtime::wavm::InstanceEnvironmentFactory Class Referencefinal

#include <instance_environment_factory.hpp>

Inheritance diagram for kagome::runtime::wavm::InstanceEnvironmentFactory:
Collaboration diagram for kagome::runtime::wavm::InstanceEnvironmentFactory:

Public Types

enum  MemoryOrigin { MemoryOrigin::EXTERNAL, MemoryOrigin::INTERNAL }
 

Public Member Functions

 InstanceEnvironmentFactory (std::shared_ptr< storage::trie::TrieStorage > storage, std::shared_ptr< storage::trie::TrieSerializer > serializer, std::shared_ptr< CompartmentWrapper > compartment, std::shared_ptr< ModuleParams > module_params, std::shared_ptr< IntrinsicModule > intrinsic_module, std::shared_ptr< host_api::HostApiFactory > host_api_factory, std::shared_ptr< blockchain::BlockHeaderRepository > block_header_repo, std::shared_ptr< storage::changes_trie::ChangesTracker > changes_tracker, std::shared_ptr< SingleModuleCache > last_compiled_module, std::shared_ptr< RuntimePropertiesCache > cache)
 
InstanceEnvironment make (MemoryOrigin memory_origin, WAVM::Runtime::Instance *runtime_instance, std::shared_ptr< IntrinsicModuleInstance > intrinsic_instance) const
 

Private Attributes

std::shared_ptr< storage::trie::TrieStoragestorage_
 
std::shared_ptr< storage::trie::TrieSerializerserializer_
 
std::shared_ptr< CompartmentWrappercompartment_
 
std::shared_ptr< ModuleParamsmodule_params_
 
std::shared_ptr< IntrinsicModuleintrinsic_module_
 
std::shared_ptr< host_api::HostApiFactoryhost_api_factory_
 
std::shared_ptr< blockchain::BlockHeaderRepositoryblock_header_repo_
 
std::shared_ptr< storage::changes_trie::ChangesTrackerchanges_tracker_
 
std::shared_ptr< SingleModuleCachelast_compiled_module_
 
std::shared_ptr< RuntimePropertiesCachecache_
 

Detailed Description

Definition at line 44 of file instance_environment_factory.hpp.

Member Enumeration Documentation

Enumerator
EXTERNAL 
INTERNAL 

Definition at line 59 of file instance_environment_factory.hpp.

Constructor & Destructor Documentation

kagome::runtime::wavm::InstanceEnvironmentFactory::InstanceEnvironmentFactory ( std::shared_ptr< storage::trie::TrieStorage storage,
std::shared_ptr< storage::trie::TrieSerializer serializer,
std::shared_ptr< CompartmentWrapper compartment,
std::shared_ptr< ModuleParams module_params,
std::shared_ptr< IntrinsicModule intrinsic_module,
std::shared_ptr< host_api::HostApiFactory host_api_factory,
std::shared_ptr< blockchain::BlockHeaderRepository block_header_repo,
std::shared_ptr< storage::changes_trie::ChangesTracker changes_tracker,
std::shared_ptr< SingleModuleCache last_compiled_module,
std::shared_ptr< RuntimePropertiesCache cache 
)

Member Function Documentation

InstanceEnvironment kagome::runtime::wavm::InstanceEnvironmentFactory::make ( MemoryOrigin  memory_origin,
WAVM::Runtime::Instance *  runtime_instance,
std::shared_ptr< IntrinsicModuleInstance intrinsic_instance 
) const

Definition at line 52 of file instance_environment_factory.cpp.

Member Data Documentation

std::shared_ptr<blockchain::BlockHeaderRepository> kagome::runtime::wavm::InstanceEnvironmentFactory::block_header_repo_
private

Definition at line 72 of file instance_environment_factory.hpp.

std::shared_ptr<RuntimePropertiesCache> kagome::runtime::wavm::InstanceEnvironmentFactory::cache_
private

Definition at line 75 of file instance_environment_factory.hpp.

std::shared_ptr<storage::changes_trie::ChangesTracker> kagome::runtime::wavm::InstanceEnvironmentFactory::changes_tracker_
private

Definition at line 73 of file instance_environment_factory.hpp.

std::shared_ptr<CompartmentWrapper> kagome::runtime::wavm::InstanceEnvironmentFactory::compartment_
private

Definition at line 68 of file instance_environment_factory.hpp.

std::shared_ptr<host_api::HostApiFactory> kagome::runtime::wavm::InstanceEnvironmentFactory::host_api_factory_
private

Definition at line 71 of file instance_environment_factory.hpp.

std::shared_ptr<IntrinsicModule> kagome::runtime::wavm::InstanceEnvironmentFactory::intrinsic_module_
private

Definition at line 70 of file instance_environment_factory.hpp.

std::shared_ptr<SingleModuleCache> kagome::runtime::wavm::InstanceEnvironmentFactory::last_compiled_module_
private

Definition at line 74 of file instance_environment_factory.hpp.

std::shared_ptr<ModuleParams> kagome::runtime::wavm::InstanceEnvironmentFactory::module_params_
private

Definition at line 69 of file instance_environment_factory.hpp.

std::shared_ptr<storage::trie::TrieSerializer> kagome::runtime::wavm::InstanceEnvironmentFactory::serializer_
private

Definition at line 67 of file instance_environment_factory.hpp.

std::shared_ptr<storage::trie::TrieStorage> kagome::runtime::wavm::InstanceEnvironmentFactory::storage_
private

Definition at line 66 of file instance_environment_factory.hpp.


The documentation for this class was generated from the following files: