Browse Source

bugfix, add status

import_zecw
Aditya Kulkarni 6 years ago
parent
commit
cf18b710d4
  1. 15
      src/turnstile.cpp
  2. 9
      src/turnstile.h

15
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<TurnstileMigrationItem> 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<TurnstileMigrationItem> Turnstile::readMigrationPlan() {
@ -57,6 +58,7 @@ QList<TurnstileMigrationItem> 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<json::string_t>();
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;
}
}
);

9
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

Loading…
Cancel
Save