bugfix, add status
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -13,6 +13,15 @@ struct TurnstileMigrationItem {
|
||||
int blockNumber;
|
||||
double amount;
|
||||
bool chaff;
|
||||
int status;
|
||||
};
|
||||
|
||||
enum TurnstileMigrationItemStatus {
|
||||
NotStarted = 0,
|
||||
SentToT,
|
||||
SentToZS,
|
||||
NotEnoughBalance,
|
||||
UnknownError
|
||||
};
|
||||
|
||||
class Turnstile
|
||||
|
||||
Reference in New Issue
Block a user