From cf18b710d4b926d87be9202c18c3b7926cf1fde3 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Thu, 25 Oct 2018 12:22:25 -0700 Subject: [PATCH] bugfix, add status --- src/turnstile.cpp | 15 +++++++++------ src/turnstile.h | 9 +++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/turnstile.cpp b/src/turnstile.cpp index 9385ba8..1a8dc02 100644 --- a/src/turnstile.cpp +++ b/src/turnstile.cpp @@ -30,21 +30,22 @@ QString Turnstile::writeableFile() { // Data stream write/read methods for migration items QDataStream &operator<<(QDataStream& ds, const TurnstileMigrationItem& item) { - return ds << "v1" << item.fromAddr << item.intTAddr - << item.destAddr << item.amount << item.blockNumber << item.chaff; + return ds << QString("v1") << item.fromAddr << item.intTAddr + << item.destAddr << item.amount << item.blockNumber << item.chaff << item.status; } QDataStream &operator>>(QDataStream& ds, TurnstileMigrationItem& item) { QString version; return ds >> version >> item.fromAddr >> item.intTAddr - >> item.destAddr >> item.amount >> item.blockNumber >> item.chaff; + >> item.destAddr >> item.amount >> item.blockNumber >> item.chaff >> item.status; } void Turnstile::writeMigrationPlan(QList plan) { QFile file(writeableFile()); - file.open(QIODevice::WriteOnly); + file.open(QIODevice::ReadWrite | QIODevice::Truncate); QDataStream out(&file); // we will serialize the data into the file out << plan; + file.close(); } QList Turnstile::readMigrationPlan() { @@ -57,6 +58,7 @@ QList Turnstile::readMigrationPlan() { QDataStream in(&file); // read the data serialized from the file in >> plan; + file.close(); return plan; } @@ -86,7 +88,8 @@ void Turnstile::planMigration(QString zaddr, QString destAddr) { for (int i=0; i < splits.size(); i++) { auto tAddr = newAddrs->values()[i].get(); auto item = TurnstileMigrationItem { zaddr, QString::fromStdString(tAddr), destAddr, - blockNumbers[i], splits[i], i == splits.size() -1 }; + blockNumbers[i], splits[i], i == splits.size() -1, + TurnstileMigrationItemStatus::NotStarted }; migItems.push_back(item); } @@ -103,7 +106,7 @@ void Turnstile::planMigration(QString zaddr, QString destAddr) { for (auto item : readPlan) { qDebug() << item.fromAddr << item.intTAddr - << item.destAddr << item.amount << item.blockNumber << item.chaff; + << item.destAddr << item.amount << item.blockNumber << item.chaff << item.status; } } ); diff --git a/src/turnstile.h b/src/turnstile.h index 2717b83..959d72f 100644 --- a/src/turnstile.h +++ b/src/turnstile.h @@ -13,6 +13,15 @@ struct TurnstileMigrationItem { int blockNumber; double amount; bool chaff; + int status; +}; + +enum TurnstileMigrationItemStatus { + NotStarted = 0, + SentToT, + SentToZS, + NotEnoughBalance, + UnknownError }; class Turnstile