mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 23:40:11 +02:00
add a timer to initiate payment to assigned nodes
This commit is contained in:
parent
072343ce79
commit
8fb85110ac
2 changed files with 23 additions and 2 deletions
|
@ -57,6 +57,13 @@ DomainServer::DomainServer(int argc, char* argv[]) :
|
||||||
setupNodeListAndAssignments();
|
setupNodeListAndAssignments();
|
||||||
|
|
||||||
_networkAccessManager = new QNetworkAccessManager(this);
|
_networkAccessManager = new QNetworkAccessManager(this);
|
||||||
|
|
||||||
|
// setup a timer to send transactions to pay assigned nodes every 30 seconds
|
||||||
|
QTimer* nodePaymentTimer = new QTimer(this);
|
||||||
|
connect(nodePaymentTimer, &QTimer::timeout, this, &DomainServer::payAssignedNodes);
|
||||||
|
|
||||||
|
const qint64 NODE_PAYMENT_INTERVAL_MSECS = 30 * 1000;
|
||||||
|
nodePaymentTimer->start(NODE_PAYMENT_INTERVAL_MSECS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,10 +350,12 @@ void DomainServer::handleConnectRequest(const QByteArray& packet, const HifiSock
|
||||||
bool isAssignment = _pendingAssignedNodes.contains(packetUUID);
|
bool isAssignment = _pendingAssignedNodes.contains(packetUUID);
|
||||||
SharedAssignmentPointer matchingQueuedAssignment = SharedAssignmentPointer();
|
SharedAssignmentPointer matchingQueuedAssignment = SharedAssignmentPointer();
|
||||||
PendingAssignedNodeData* pendingAssigneeData = NULL;
|
PendingAssignedNodeData* pendingAssigneeData = NULL;
|
||||||
|
|
||||||
if (isAssignment) {
|
if (isAssignment) {
|
||||||
pendingAssigneeData = _pendingAssignedNodes.take(packetUUID);
|
pendingAssigneeData = _pendingAssignedNodes.take(packetUUID);
|
||||||
|
|
||||||
if (pendingAssigneeData) {
|
if (pendingAssigneeData) {
|
||||||
matchingQueuedAssignment = matchingQueuedAssignmentForCheckIn(packetUUID, nodeType);
|
matchingQueuedAssignment = matchingQueuedAssignmentForCheckIn(pendingAssigneeData->getAssignmentUUID(), nodeType);
|
||||||
|
|
||||||
if (matchingQueuedAssignment) {
|
if (matchingQueuedAssignment) {
|
||||||
qDebug() << "Assignment deployed with" << uuidStringWithoutCurlyBraces(packetUUID)
|
qDebug() << "Assignment deployed with" << uuidStringWithoutCurlyBraces(packetUUID)
|
||||||
|
@ -647,6 +656,18 @@ void DomainServer::readAvailableDatagrams() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DomainServer::payAssignedNodes() {
|
||||||
|
// enumerate the NodeList to find the assigned nodes
|
||||||
|
foreach (const SharedNodePointer& node, LimitedNodeList::getInstance()->getNodeHash()) {
|
||||||
|
DomainServerNodeData* nodeData = reinterpret_cast<DomainServerNodeData*>(node->getLinkedData());
|
||||||
|
|
||||||
|
if (!nodeData->getAssignmentUUID().isNull() && !nodeData->getWalletUUID().isNull()) {
|
||||||
|
// add a pending transaction for this node or increase the amount for the existing transaction
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DomainServer::processDatagram(const QByteArray& receivedPacket, const HifiSockAddr& senderSockAddr) {
|
void DomainServer::processDatagram(const QByteArray& receivedPacket, const HifiSockAddr& senderSockAddr) {
|
||||||
LimitedNodeList* nodeList = LimitedNodeList::getInstance();
|
LimitedNodeList* nodeList = LimitedNodeList::getInstance();
|
||||||
|
|
||||||
|
|
|
@ -45,8 +45,8 @@ public slots:
|
||||||
void nodeKilled(SharedNodePointer node);
|
void nodeKilled(SharedNodePointer node);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
void readAvailableDatagrams();
|
void readAvailableDatagrams();
|
||||||
|
void payAssignedNodes();
|
||||||
private:
|
private:
|
||||||
void setupNodeListAndAssignments(const QUuid& sessionUUID = QUuid::createUuid());
|
void setupNodeListAndAssignments(const QUuid& sessionUUID = QUuid::createUuid());
|
||||||
bool optionallySetupOAuth();
|
bool optionallySetupOAuth();
|
||||||
|
|
Loading…
Reference in a new issue