CatapultServer  v0.5.0.1 (Elephant)
MongoStorageContext.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "MongoDatabase.h"
23 #include "MongoErrorPolicy.h"
24 
25 namespace catapult { namespace mongo { class MongoBulkWriter; } }
26 
27 namespace catapult { namespace mongo {
28 
31  public:
33  MongoStorageContext() = default;
34 
38  const mongocxx::uri& uri,
39  const std::string& databaseName,
40  const std::shared_ptr<MongoBulkWriter>& pBulkWriter,
41  MongoErrorPolicy::Mode errorPolicyMode)
42  : m_connectionPool(uri)
43  , m_databaseName(databaseName)
44  , m_pBulkWriter(pBulkWriter)
45  , m_errorPolicyMode(errorPolicyMode)
46  {}
47 
48  public:
52  }
53 
55  MongoErrorPolicy createCollectionErrorPolicy(const std::string& collectionName) {
56  return MongoErrorPolicy(collectionName, m_errorPolicyMode);
57  }
58 
61  return *m_pBulkWriter;
62  }
63 
64  private:
65  mongocxx::pool m_connectionPool;
66  std::string m_databaseName;
67  std::shared_ptr<MongoBulkWriter> m_pBulkWriter;
69  };
70 }}
MongoReceiptPluginFactory.h
catapult::mongo::MongoStorageContext::m_pBulkWriter
std::shared_ptr< MongoBulkWriter > m_pBulkWriter
Definition: MongoStorageContext.h:67
MongoSecretLockInfoCacheStorage.h
catapult::mongo::MongoStorageContext::m_errorPolicyMode
MongoErrorPolicy::Mode m_errorPolicyMode
Definition: MongoStorageContext.h:68
catapult::mongo::plugins::CreateSecretLockTransactionMongoPlugin
PLUGIN_API std::unique_ptr< MongoTransactionPlugin > CreateSecretLockTransactionMongoPlugin()
Creates a mongo secret lock transaction plugin.
catapult::mongo::MongoPluginManager::addTransactionSupport
void addTransactionSupport(std::unique_ptr< MongoTransactionPlugin > &&pTransactionPlugin)
Adds support for a transaction described by pTransactionPlugin.
Definition: MongoPluginManager.h:53
catapult::mongo::MongoStorageContext::MongoStorageContext
MongoStorageContext()=default
Creates an empty storage context.
catapult::mongo::MongoPluginManager::networkIdentifier
model::NetworkIdentifier networkIdentifier() const
Gets the network idenfifier.
Definition: MongoPluginManager.h:47
SecretLockReceiptType.h
catapult::mongo::MongoStorageContext::bulkWriter
MongoBulkWriter & bulkWriter() const
Gets the bulk writer.
Definition: MongoStorageContext.h:60
MongoDatabase.h
catapult::mongo::MongoStorageContext::MongoStorageContext
MongoStorageContext(const mongocxx::uri &uri, const std::string &databaseName, const std::shared_ptr< MongoBulkWriter > &pBulkWriter, MongoErrorPolicy::Mode errorPolicyMode)
Definition: MongoStorageContext.h:37
SecretLockMapper.h
catapult::mongo::MongoPluginManager::addStorageSupport
void addStorageSupport(std::unique_ptr< TStorage > &&pStorage)
Adds support for an external cache storage described by pStorage.
Definition: MongoPluginManager.h:64
catapult::mongo::MongoStorageContext::createDatabaseConnection
MongoDatabase createDatabaseConnection()
Creates a mongo database connection.
Definition: MongoStorageContext.h:50
catapult::mongo::MongoErrorPolicy
Error policy for checking mongo operation results.
Definition: MongoErrorPolicy.h:30
PLUGIN_API
#define PLUGIN_API
Definition: plugins.h:30
catapult::mongo::MongoPluginManager
A manager for registering mongo plugins.
Definition: MongoPluginManager.h:32
catapult::mongo::MongoPluginManager::mongoContext
MongoStorageContext & mongoContext() const
Gets the mongo storage context.
Definition: MongoPluginManager.h:42
catapult::mongo::MongoStorageContext::createCollectionErrorPolicy
MongoErrorPolicy createCollectionErrorPolicy(const std::string &collectionName)
Creates a mongo error policy for the collection with name collectionName.
Definition: MongoStorageContext.h:55
MongoPluginManager.h
catapult::mongo::MongoBulkWriter
Definition: MongoBulkWriter.h:43
SecretProofMapper.h
catapult::mongo::plugins::CreateSecretProofTransactionMongoPlugin
PLUGIN_API std::unique_ptr< MongoTransactionPlugin > CreateSecretProofTransactionMongoPlugin()
Creates a mongo secret proof transaction plugin.
catapult::mongo::CreateBalanceChangeReceiptMongoPlugin
std::unique_ptr< MongoReceiptPlugin > CreateBalanceChangeReceiptMongoPlugin(model::ReceiptType type)
Creates a mongo balance change receipt plugin around type.
MongoErrorPolicy.h
catapult::mongo::MongoStorageContext::m_databaseName
std::string m_databaseName
Definition: MongoStorageContext.h:66
catapult::mongo::MongoPluginManager::addReceiptSupport
void addReceiptSupport(std::unique_ptr< MongoReceiptPlugin > &&pReceiptPlugin)
Adds support for a receipt described by pReceiptPlugin.
Definition: MongoPluginManager.h:58
catapult::mongo::MongoErrorPolicy::Mode
Mode
Error policy modes.
Definition: MongoErrorPolicy.h:33
catapult::mongo::MongoStorageContext::m_connectionPool
mongocxx::pool m_connectionPool
Definition: MongoStorageContext.h:65
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::mongo::MongoStorageContext
Context for creating a mongo storage.
Definition: MongoStorageContext.h:30
RegisterMongoSubsystem
PLUGIN_API void RegisterMongoSubsystem(catapult::mongo::MongoPluginManager &manager)
Entry point for registering a dynamic module with manager.
Definition: MongoSecretLockPlugin.cpp:29
catapult::mongo::MongoDatabase
Represents a mongo database.
Definition: MongoDatabase.h:31