/* * MalicousRepParty.h * */ #ifndef GC_MALICIOUSREPTHREAD_H_ #define GC_MALICIOUSREPTHREAD_H_ #include "Thread.h" #include "MaliciousRepSecret.h" #include "Processor/Data_Files.h" #include namespace GC { class MaliciousRepThread : public Thread { static thread_local MaliciousRepThread* singleton; vector shares; vector opened; vector> triples; public: static MaliciousRepThread& s(); DataPositions usage; Sub_Data_Files DataF; MaliciousRepThread(int i, ThreadMaster& master); virtual ~MaliciousRepThread() {} MaliciousRepSecret::MC* new_mc(); void pre_run(); void post_run(); void and_(Processor& processor, const vector& args, bool repeat); }; inline MaliciousRepThread& MaliciousRepThread::s() { if (singleton) return *singleton; else throw runtime_error("no singleton"); } } /* namespace GC */ #endif /* GC_MALICIOUSREPTHREAD_H_ */