#include <RuleSetGenerator.h>
|
| RuleSetGenerator (int responder_addr) |
|
std::map< int, nlohmann::json > | generateRuleSets (messages::ConnectionSetupRequest *req, unsigned long ruleset_id) |
| generate RuleSets for the given connection setup request.
|
|
void | generateReverseSwapAtHalfRuleSets (int left_node_index, int right_node_index, std::map< int, std::vector< std::unique_ptr< rules::Rule > > > &rules_map, std::vector< int > &path, int &shared_rule_tag) |
| generate rules for each node in the path.
|
|
|
std::vector< int > | collectPath (messages::ConnectionSetupRequest *req) |
| collect path infomation from initiator to responder
|
|
std::unique_ptr< rules::Rule > | tomographyRule (int partner_address, int owner_address, int num_measure, int shared_rule_tag) |
| create tomography rule
|
|
std::unique_ptr< rules::Rule > | purifyRule (int partner_address, rules::PurType purification_type, int shared_rule_tag) |
| create purification rule
|
|
std::unique_ptr< rules::Rule > | purificationCorrelationRule (int partner_address, rules::PurType purification_protocol, int shared_rule_tag) |
| create rule that waits for purification measurement result and check for its correlation
|
|
std::unique_ptr< rules::Rule > | swapRule (std::pair< int, int > partner_address, int shared_rule_tag) |
| create entanglement swapping rule
|
|
std::unique_ptr< rules::Rule > | swapCorrectionRule (int swapper_address, int shared_rule_tag) |
| create rule that waits for the swapping correction/notification from swapper node
|
|
◆ RuleSetGenerator()
quisp::modules::ruleset_gen::RuleSetGenerator::RuleSetGenerator |
( |
int | responder_addr | ) |
|
|
inline |
◆ collectPath()
std::vector< int > quisp::modules::ruleset_gen::RuleSetGenerator::collectPath |
( |
messages::ConnectionSetupRequest * | req | ) |
|
|
protected |
collect path infomation from initiator to responder
- Parameters
-
- Returns
- std::vector<int> vector to store node addresses
◆ generateReverseSwapAtHalfRuleSets()
void quisp::modules::ruleset_gen::RuleSetGenerator::generateReverseSwapAtHalfRuleSets |
( |
int | left_node_index, |
|
|
int | right_node_index, |
|
|
std::map< int, std::vector< std::unique_ptr< rules::Rule > > > & | rules_map, |
|
|
std::vector< int > & | path, |
|
|
int & | shared_rule_tag ) |
generate rules for each node in the path.
- Parameters
-
left_node_index | index in the path from initiator to responder |
right_node_index | index in the path from initiator to responder |
rules_map | store rules for each node <node_address, vector<Rules>> |
path | store address from initiator to responder |
shared_rule_tag | |
◆ generateRuleSets()
std::map< int, json > quisp::modules::ruleset_gen::RuleSetGenerator::generateRuleSets |
( |
messages::ConnectionSetupRequest * | req, |
|
|
unsigned long | ruleset_id ) |
generate RuleSets for the given connection setup request.
- Parameters
-
- Returns
- std::map<int, nlohmann::json> a map of json serialized RuleSets and its node addresses as key
◆ purificationCorrelationRule()
std::unique_ptr< Rule > quisp::modules::ruleset_gen::RuleSetGenerator::purificationCorrelationRule |
( |
int | partner_address, |
|
|
rules::PurType | purification_protocol, |
|
|
int | shared_rule_tag ) |
|
protected |
create rule that waits for purification measurement result and check for its correlation
- Parameters
-
partner_address | |
purification_protocol | |
shared_rule_tag | |
- Returns
- std::unique_ptr<rules::Rule>
◆ purifyRule()
std::unique_ptr< Rule > quisp::modules::ruleset_gen::RuleSetGenerator::purifyRule |
( |
int | partner_address, |
|
|
rules::PurType | purification_type, |
|
|
int | shared_rule_tag ) |
|
protected |
create purification rule
- Parameters
-
partner_address | |
purification_type | |
shared_rule_tag | |
- Returns
- std::unique_ptr<rules::Rule>
◆ swapCorrectionRule()
std::unique_ptr< Rule > quisp::modules::ruleset_gen::RuleSetGenerator::swapCorrectionRule |
( |
int | swapper_address, |
|
|
int | shared_rule_tag ) |
|
protected |
create rule that waits for the swapping correction/notification from swapper node
- Parameters
-
swapper_address | |
shared_rule_tag | |
- Returns
- std::unique_ptr<rules::Rule>
◆ swapRule()
std::unique_ptr< Rule > quisp::modules::ruleset_gen::RuleSetGenerator::swapRule |
( |
std::pair< int, int > | partner_address, |
|
|
int | shared_rule_tag ) |
|
protected |
create entanglement swapping rule
- Parameters
-
partner_address | |
shared_rule_tag | |
- Returns
- std::unique_ptr<rules::Rule>
◆ tomographyRule()
std::unique_ptr< Rule > quisp::modules::ruleset_gen::RuleSetGenerator::tomographyRule |
( |
int | partner_address, |
|
|
int | owner_address, |
|
|
int | num_measure, |
|
|
int | shared_rule_tag ) |
|
protected |
create tomography rule
- Parameters
-
partner_address | |
owner_address | |
num_measure | |
shared_rule_tag | |
- Returns
- std::unique_ptr<rules::Rule>
◆ responder_addr
int quisp::modules::ruleset_gen::RuleSetGenerator::responder_addr |
|
protected |
The documentation for this class was generated from the following files: