After configuring the HTTP Protocol, creating the event for the callback and filling all the necessary fields on the request token, I'm using :

....
 Status = HttpProtocol->Request(HttpProtocol, &RequestToken);
 Print(L"Only gets printed after Request is successful");
....

To start the HTTP request. This code is being compiled as a UEFI Application and run via UEFI SHELL using the QEMU emulator.

The http request works as expected when the host is responsive, however, when the host is unreachable (for example offline), the execution just hangs for more than 2 minutes, eventually returning with a Status code of EFI_TIME_OUT. 

I have tried reducing the timeout interval by defining
....
ConfigData->TimeOutMillisec    = 5000;
Status = HttpProtocol->Configure(HttpProtocol, ConfigData);
....

But this doesn't seem to change the behaviour of the request function. 

Why is HttpProtocol->request blocking execution and not following the event pattern, and how could I customize the timeout interval?

Any feedback much appreciated, thank you!
_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#121408) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_