PIVX Core  5.6.99
P2P Digital Currency
Classes | Public Member Functions | Public Attributes | List of all members
ContributionVerifier Struct Reference
Inheritance diagram for ContributionVerifier:
[legend]
Collaboration diagram for ContributionVerifier:
[legend]

Classes

struct  BatchState
 

Public Member Functions

 ContributionVerifier (const CBLSId &_forId, const std::vector< BLSVerificationVectorPtr > &_vvecs, const BLSSecretKeyVector &_skShares, size_t _batchSize, bool _parallel, bool _aggregated, ctpl::thread_pool &_workerPool, std::function< void(const std::vector< bool > &)> _doneCallback)
 
void Start ()
 
void Finish ()
 
void AsyncAggregate (size_t batchIdx)
 
void HandleAggVvecDone (size_t batchIdx, const BLSVerificationVectorPtr &vvec)
 
void HandleAggSkShareDone (size_t batchIdx, const CBLSSecretKey &skShare)
 
void HandleVerifyDone (size_t batchIdx, size_t count)
 
void HandleAggDone (size_t batchIdx)
 
void AsyncAggregatedVerifyBatch (size_t batchIdx)
 
void AsyncVerifyBatchOneByOne (size_t batchIdx)
 
bool Verify (const BLSVerificationVectorPtr &vvec, const CBLSSecretKey &skShare)
 
template<typename Callable >
void PushOrDoWork (Callable &&f)
 

Public Attributes

CBLSId forId
 
const std::vector< BLSVerificationVectorPtr > & vvecs
 
const BLSSecretKeyVectorskShares
 
size_t batchSize
 
bool parallel
 
bool aggregated
 
ctpl::thread_poolworkerPool
 
size_t batchCount
 
size_t verifyCount
 
std::vector< BatchStatebatchStates
 
std::atomic< size_t > verifyDoneCount {0}
 
std::function< void(const std::vector< bool > &)> doneCallback
 

Detailed Description

Definition at line 403 of file bls_worker.cpp.

Constructor & Destructor Documentation

◆ ContributionVerifier()

ContributionVerifier::ContributionVerifier ( const CBLSId _forId,
const std::vector< BLSVerificationVectorPtr > &  _vvecs,
const BLSSecretKeyVector _skShares,
size_t  _batchSize,
bool  _parallel,
bool  _aggregated,
ctpl::thread_pool _workerPool,
std::function< void(const std::vector< bool > &)>  _doneCallback 
)
inline

Definition at line 438 of file bls_worker.cpp.

Member Function Documentation

◆ AsyncAggregate()

void ContributionVerifier::AsyncAggregate ( size_t  batchIdx)
inline

Definition at line 498 of file bls_worker.cpp.

Here is the caller graph for this function:

◆ AsyncAggregatedVerifyBatch()

void ContributionVerifier::AsyncAggregatedVerifyBatch ( size_t  batchIdx)
inline

Definition at line 551 of file bls_worker.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AsyncVerifyBatchOneByOne()

void ContributionVerifier::AsyncVerifyBatchOneByOne ( size_t  batchIdx)
inline

Definition at line 569 of file bls_worker.cpp.

Here is the caller graph for this function:

◆ Finish()

void ContributionVerifier::Finish ( )
inline

Definition at line 485 of file bls_worker.cpp.

◆ HandleAggDone()

void ContributionVerifier::HandleAggDone ( size_t  batchIdx)
inline

Definition at line 536 of file bls_worker.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HandleAggSkShareDone()

void ContributionVerifier::HandleAggSkShareDone ( size_t  batchIdx,
const CBLSSecretKey skShare 
)
inline

Definition at line 519 of file bls_worker.cpp.

Here is the call graph for this function:

◆ HandleAggVvecDone()

void ContributionVerifier::HandleAggVvecDone ( size_t  batchIdx,
const BLSVerificationVectorPtr vvec 
)
inline

Definition at line 511 of file bls_worker.cpp.

Here is the call graph for this function:

◆ HandleVerifyDone()

void ContributionVerifier::HandleVerifyDone ( size_t  batchIdx,
size_t  count 
)
inline

Definition at line 528 of file bls_worker.cpp.

Here is the caller graph for this function:

◆ PushOrDoWork()

template<typename Callable >
void ContributionVerifier::PushOrDoWork ( Callable &&  f)
inline

Definition at line 595 of file bls_worker.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Start()

void ContributionVerifier::Start ( )
inline

Definition at line 453 of file bls_worker.cpp.

Here is the call graph for this function:

◆ Verify()

bool ContributionVerifier::Verify ( const BLSVerificationVectorPtr vvec,
const CBLSSecretKey skShare 
)
inline

Definition at line 583 of file bls_worker.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ aggregated

bool ContributionVerifier::aggregated

Definition at line 427 of file bls_worker.cpp.

◆ batchCount

size_t ContributionVerifier::batchCount

Definition at line 431 of file bls_worker.cpp.

◆ batchSize

size_t ContributionVerifier::batchSize

Definition at line 425 of file bls_worker.cpp.

◆ batchStates

std::vector<BatchState> ContributionVerifier::batchStates

Definition at line 434 of file bls_worker.cpp.

◆ doneCallback

std::function<void(const std::vector<bool>&)> ContributionVerifier::doneCallback

Definition at line 436 of file bls_worker.cpp.

◆ forId

CBLSId ContributionVerifier::forId

Definition at line 422 of file bls_worker.cpp.

◆ parallel

bool ContributionVerifier::parallel

Definition at line 426 of file bls_worker.cpp.

◆ skShares

const BLSSecretKeyVector& ContributionVerifier::skShares

Definition at line 424 of file bls_worker.cpp.

◆ verifyCount

size_t ContributionVerifier::verifyCount

Definition at line 432 of file bls_worker.cpp.

◆ verifyDoneCount

std::atomic<size_t> ContributionVerifier::verifyDoneCount {0}

Definition at line 435 of file bls_worker.cpp.

◆ vvecs

const std::vector<BLSVerificationVectorPtr>& ContributionVerifier::vvecs

Definition at line 423 of file bls_worker.cpp.

◆ workerPool

ctpl::thread_pool& ContributionVerifier::workerPool

Definition at line 429 of file bls_worker.cpp.


The documentation for this struct was generated from the following file: