Added defaultTimeout member to TargetControllerConsole, for adjustable timeout values

This commit is contained in:
Nav
2021-05-01 13:48:18 +01:00
parent 2a6cce6681
commit de1d80f35b
2 changed files with 16 additions and 10 deletions

View File

@@ -12,7 +12,7 @@ Targets::TargetDescriptor TargetControllerConsole::getTargetDescriptor() {
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::TargetDescriptorExtracted, Events::TargetDescriptorExtracted,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), extractEvent->id); >(this->defaultTimeout, extractEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::TargetDescriptorExtracted>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::TargetDescriptorExtracted>>(responseEvent.value())
@@ -31,7 +31,7 @@ void TargetControllerConsole::stopTargetExecution() {
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::TargetExecutionStopped, Events::TargetExecutionStopped,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), stopTargetEvent->id); >(this->defaultTimeout, stopTargetEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::TargetExecutionStopped>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::TargetExecutionStopped>>(responseEvent.value())
@@ -51,7 +51,7 @@ void TargetControllerConsole::continueTargetExecution(std::optional<std::uint32_
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::TargetExecutionResumed, Events::TargetExecutionResumed,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), resumeExecutionEvent->id); >(this->defaultTimeout, resumeExecutionEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::TargetExecutionResumed>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::TargetExecutionResumed>>(responseEvent.value())
@@ -71,7 +71,7 @@ void TargetControllerConsole::stepTargetExecution(std::optional<std::uint32_t> f
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::TargetExecutionResumed, Events::TargetExecutionResumed,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), stepExecutionEvent->id); >(this->defaultTimeout, stepExecutionEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::TargetExecutionResumed>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::TargetExecutionResumed>>(responseEvent.value())
@@ -88,7 +88,7 @@ TargetRegisters TargetControllerConsole::readGeneralRegisters(TargetRegisterDesc
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::RegistersRetrievedFromTarget, Events::RegistersRetrievedFromTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), readRegistersEvent->id); >(this->defaultTimeout, readRegistersEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::RegistersRetrievedFromTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::RegistersRetrievedFromTarget>>(responseEvent.value())
@@ -108,7 +108,7 @@ void TargetControllerConsole::writeGeneralRegisters(TargetRegisters registers) {
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::RegistersWrittenToTarget, Events::RegistersWrittenToTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), event->id); >(this->defaultTimeout, event->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::RegistersWrittenToTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::RegistersWrittenToTarget>>(responseEvent.value())
@@ -131,7 +131,7 @@ TargetMemoryBuffer TargetControllerConsole::readMemory(
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::MemoryRetrievedFromTarget, Events::MemoryRetrievedFromTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), readMemoryEvent->id); >(this->defaultTimeout, readMemoryEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::MemoryRetrievedFromTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::MemoryRetrievedFromTarget>>(responseEvent.value())
@@ -157,7 +157,7 @@ void TargetControllerConsole::writeMemory(
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::MemoryWrittenToTarget, Events::MemoryWrittenToTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), writeMemoryEvent->id); >(this->defaultTimeout, writeMemoryEvent->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::MemoryWrittenToTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::MemoryWrittenToTarget>>(responseEvent.value())
@@ -174,7 +174,7 @@ void TargetControllerConsole::setBreakpoint(TargetBreakpoint breakpoint) {
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::BreakpointSetOnTarget, Events::BreakpointSetOnTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), event->id); >(this->defaultTimeout, event->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::BreakpointSetOnTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::BreakpointSetOnTarget>>(responseEvent.value())
@@ -191,7 +191,7 @@ void TargetControllerConsole::removeBreakpoint(TargetBreakpoint breakpoint) {
auto responseEvent = this->eventListener.waitForEvent< auto responseEvent = this->eventListener.waitForEvent<
Events::BreakpointRemovedOnTarget, Events::BreakpointRemovedOnTarget,
Events::TargetControllerErrorOccurred Events::TargetControllerErrorOccurred
>(std::chrono::milliseconds(5000), event->id); >(this->defaultTimeout, event->id);
if (!responseEvent.has_value() if (!responseEvent.has_value()
|| !std::holds_alternative<EventPointer<Events::BreakpointRemovedOnTarget>>(responseEvent.value()) || !std::holds_alternative<EventPointer<Events::BreakpointRemovedOnTarget>>(responseEvent.value())

View File

@@ -27,10 +27,16 @@ namespace Bloom
EventManager& eventManager; EventManager& eventManager;
EventListener& eventListener; EventListener& eventListener;
std::chrono::milliseconds defaultTimeout = std::chrono::milliseconds(10000);
public: public:
TargetControllerConsole(EventManager& eventManager, EventListener& eventListener): TargetControllerConsole(EventManager& eventManager, EventListener& eventListener):
eventManager(eventManager), eventListener(eventListener) {}; eventManager(eventManager), eventListener(eventListener) {};
void setDefaultTimeout(std::chrono::milliseconds timeout) {
this->defaultTimeout = timeout;
}
/** /**
* Requests the TargetDescriptor from the TargetController * Requests the TargetDescriptor from the TargetController
* *