#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: