Commit 157ca8b4 authored by yiwenshao's avatar yiwenshao

able to use onion_order strategy for load

parent cf942c69
...@@ -102,7 +102,7 @@ std::shared_ptr<ReturnMeta> getReturnMeta(std::vector<FieldMeta*> fms, ...@@ -102,7 +102,7 @@ std::shared_ptr<ReturnMeta> getReturnMeta(std::vector<FieldMeta*> fms,
int pos=0; int pos=0;
//construct OLK //construct OLK
for(auto i=0u;i<tfds.size();i++){ for(auto i=0u;i<tfds.size();i++){
int index = getDecryptionOnionIndex(tfds); int index = getDecryptionOnionIndex(tfds[i]);
onion o = tfds[i].getChoosenOnionO()[index]; onion o = tfds[i].getChoosenOnionO()[index];
SECLEVEL l = tfds[i].getOriginalFieldMeta()->getOnionMeta(o)->getSecLevel(); SECLEVEL l = tfds[i].getOriginalFieldMeta()->getOnionMeta(o)->getSecLevel();
FieldMeta *k = tfds[i].getOriginalFieldMeta(); FieldMeta *k = tfds[i].getOriginalFieldMeta();
......
#include "wrapper/reuse.hh" #include "wrapper/reuse.hh"
#include <map>
using std::cout; using std::cout;
using std::cin; using std::cin;
using std::endl; using std::endl;
...@@ -401,9 +402,28 @@ void storeStrategies(std::vector<FieldMetaTrans>& res){ ...@@ -401,9 +402,28 @@ void storeStrategies(std::vector<FieldMetaTrans>& res){
} }
int getDecryptionOnionIndex(std::vector<FieldMetaTrans>& fdtrans) { static const std::vector<onion> onion_order = {
int res = 0; oDET,
oOPE,
oAGG,
oASHE,
oSWP,
oPLAIN
};
int getDecryptionOnionIndex(FieldMetaTrans& fdtrans) {
int res = -1;
auto onionsO = fdtrans.getChoosenOnionO();
std::map<onion,unsigned int> onionIndexPair;
for(unsigned int i=0u;i<onionsO.size();i++){
onionIndexPair[onionsO[i]]=i;
}
for(auto item:onion_order){
if(onionIndexPair.find(item)!=onionIndexPair.end()){
res = onionIndexPair[item];
break;
}
}
return res; return res;
} }
......
...@@ -153,4 +153,4 @@ enum class STORE_STRATEGY{ ...@@ -153,4 +153,4 @@ enum class STORE_STRATEGY{
ALL ALL
}; };
int getDecryptionOnionIndex(std::vector<FieldMetaTrans>& res); int getDecryptionOnionIndex(FieldMetaTrans& fdtrans);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment