CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
25 #include <bsoncxx/builder/stream/document.hpp>
26 #include <mongocxx/client.hpp>
30 struct EmbeddedTransaction;
35 namespace catapult {
namespace mongo {
38 template<
typename TTransaction>
48 virtual void streamTransaction(bsoncxx::builder::stream::document& builder,
const TTransaction& transaction)
const = 0;
A registry of mongo transaction plugins.
Definition: MongoTransactionPlugin.h:71
A typed mongo transaction plugin.
Definition: MongoTransactionPlugin.h:39
EntityType
Enumeration of entity types.
Definition: EntityType.h:43
virtual bool supportsEmbedding() const =0
true if this transaction type supports embedding.
A registry of transaction plugins.
Definition: TransactionRegistry.h:29
virtual void streamTransaction(bsoncxx::builder::stream::document &builder, const TTransaction &transaction) const =0
Streams a transaction to builder.
An embedded mongo transaction plugin.
Definition: MongoTransactionPlugin.h:52
virtual ~MongoTransactionPluginT()=default
virtual std::vector< bsoncxx::document::value > extractDependentDocuments(const model::Transaction &transaction, const MongoTransactionMetadata &metadata) const =0
virtual model::EntityType type() const =0
Gets the transaction entity type.
Definition: AddressExtractionExtension.cpp:28
A mongo transaction plugin.
Definition: MongoTransactionPlugin.h:55
virtual const EmbeddedMongoTransactionPlugin & embeddedPlugin() const =0
Gets the corresponding embedded plugin if supportsEmbedding() is true.
Binary layout for a transaction.
Definition: Transaction.h:32