| 372 | } |
| 373 | |
| 374 | void TransactionQueue::enqueue(RLP const& _data, h512 const& _nodeId) |
| 375 | { |
| 376 | bool queued = false; |
| 377 | { |
| 378 | Guard l(x_queue); |
| 379 | unsigned itemCount = _data.itemCount(); |
| 380 | for (unsigned i = 0; i < itemCount; ++i) |
| 381 | { |
| 382 | if (m_unverified.size() >= c_maxVerificationQueueSize) |
| 383 | { |
| 384 | clog(TransactionQueueChannel) << "Transaction verification queue is full. Dropping" << itemCount - i << "transactions"; |
| 385 | break; |
| 386 | } |
| 387 | m_unverified.emplace_back(UnverifiedTransaction(_data[i].data(), _nodeId)); |
| 388 | queued = true; |
| 389 | } |
| 390 | } |
| 391 | if (queued) |
| 392 | m_queueReady.notify_all(); |
| 393 | } |
| 394 | |
| 395 | void TransactionQueue::verifierBody() |
| 396 | { |