stephb9959
2022-12-01 12:25:49 -08:00
parent 8d0f0c227a
commit 7f01c7b861
3 changed files with 6 additions and 25 deletions

2
build
View File

@@ -1 +1 @@
65
66

View File

@@ -42,69 +42,54 @@ namespace OpenWifi {
uint64_t ID = Payload->get(uCentralProtocol::ID);
std::shared_ptr<promise_type_t> TmpRpcEntry;
poco_debug(Logger(),fmt::format("({}): Processing {} response.", SerialNumberStr, ID));
std::cout << __LINE__ << std::endl;
if (ID > 1) {
std::cout << __LINE__ << std::endl;
std::lock_guard Lock(LocalMutex_);
auto RPC = OutStandingRequests_.find(ID);
if (RPC == OutStandingRequests_.end() ||
RPC->second.SerialNumber != Resp->SerialNumber_) {
std::cout << __LINE__ << std::endl;
poco_debug(Logger(),
fmt::format("({}): RPC {} completed.", SerialNumberStr, ID));
} else {
std::cout << __LINE__ << std::endl;
std::chrono::duration<double, std::milli> rpc_execution_time =
std::chrono::high_resolution_clock::now() -
RPC->second.submitted;
std::cout << __LINE__ << std::endl;
poco_debug(Logger(),
fmt::format("({}): Received RPC answer {}. Command={}",
SerialNumberStr, ID, APCommands::to_string(RPC->second.Command)));
std::cout << __LINE__ << std::endl;
if(RPC->second.Command==APCommands::Commands::script) {
if(RPC->second.State==2) {
// look at the payload to see if we should continue or not...
if (RPC->second.rpc_entry) {
TmpRpcEntry = RPC->second.rpc_entry;
}
std::cout << __LINE__ << std::endl;
Payload->stringify(std::cout);
// Payload->stringify(std::cout);
if (Payload->has("result")) {
std::cout << __LINE__ << std::endl;
auto Result = Payload->getObject("result");
std::cout << __LINE__ << std::endl;
if (Result->has("status")) {
std::cout << __LINE__ << std::endl;
auto Status = Result->getObject("status");
Status->stringify(std::cout);
// Status->stringify(std::cout);
std::uint64_t Error = Status->get("error");
std::cout << __LINE__ << std::endl;
if(Error==0) {
std::cout << __LINE__ << std::endl;
StorageService()->CommandCompleted(RPC->second.UUID, Payload,
rpc_execution_time, true);
RPC->second.State = 1 ;
} else {
StorageService()->CommandCompleted(RPC->second.UUID, Payload,
rpc_execution_time, true);
std::cout << __LINE__ << std::endl;
std::string ErrorTxt = Status->get("result");
std::cout << __LINE__ << std::endl;
StorageService()->CancelWaitFile(RPC->second.UUID, ErrorTxt);
std::cout << __LINE__ << std::endl;
RPC->second.State = 0 ;
}
}
} else {
std::cout << "Bad payload on command result" << std::endl;
// std::cout << "Bad payload on command result" << std::endl;
RPC->second.State=0;
}
} else {
std::cout << "Completing script 2 phase commit." << std::endl;
// std::cout << "Completing script 2 phase commit." << std::endl;
StorageService()->CommandCompleted(RPC->second.UUID, Payload,
rpc_execution_time, true);
NoReply = true;
@@ -114,18 +99,14 @@ namespace OpenWifi {
StorageService()->CommandCompleted(RPC->second.UUID, Payload,
rpc_execution_time, true);
if (RPC->second.rpc_entry) {
std::cout << __LINE__ << std::endl;
TmpRpcEntry = RPC->second.rpc_entry;
}
std::cout << __LINE__ << std::endl;
RPC->second.State = 0 ;
}
if(RPC->second.State==0) {
std::cout << __LINE__ << std::endl;
OutStandingRequests_.erase(ID);
}
}
if(!NoReply && TmpRpcEntry != nullptr)
TmpRpcEntry->set_value(Payload);

View File

@@ -22,7 +22,7 @@ namespace OpenWifi {
struct UploadId {
std::string UUID;
std::uint64_t Expires;
std::uint64_t Expires;
std::string Type;
};