#define HTTP_BUFFER_SIZE_DEAULT 65535\r
#define HTTP_MAX_SYN_BACK_LOG 5\r
#define HTTP_CONNECTION_TIMEOUT 60\r
+#define HTTP_RESPONSE_TIMEOUT 5\r
#define HTTP_DATA_RETRIES 12\r
#define HTTP_FIN_TIMEOUT 2\r
#define HTTP_KEEP_ALIVE_PROBES 6\r
\r
UINTN StatusCode;\r
\r
+ EFI_EVENT TimeoutEvent;\r
+\r
EFI_HANDLE Tcp4ChildHandle;\r
EFI_TCP4_PROTOCOL *Tcp4;\r
EFI_TCP4_CONFIG_DATA Tcp4CfgData;\r
EFI_TCP6_CLOSE_TOKEN Tcp6CloseToken;\r
BOOLEAN IsTcp6CloseDone;\r
EFI_IPv6_ADDRESS RemoteIpv6Addr;\r
-\r
-\r
- \r
+ \r
//\r
// Rx4Token or Rx6Token used for receiving HTTP header.\r
//\r
@param[in] HttpInstance The HTTP instance private data.\r
@param[in, out] SizeofHeaders The HTTP header length.\r
@param[in, out] BufferSize The size of buffer to cacahe the header message.\r
+ @param[in] Timeout The time to wait for receiving the header packet.\r
\r
@retval EFI_SUCCESS The HTTP header is received. \r
@retval Others Other errors as indicated.\r
HttpTcpReceiveHeader (\r
IN HTTP_PROTOCOL *HttpInstance,\r
IN OUT UINTN *SizeofHeaders,\r
- IN OUT UINTN *BufferSize\r
+ IN OUT UINTN *BufferSize,\r
+ IN EFI_EVENT Timeout\r
);\r
\r
/**\r
\r
@param[in] Wrap The HTTP token's wrap data.\r
@param[in] HttpMsg The HTTP message data.\r
+ @param[in] Timeout The time to wait for receiving the body packet.\r
\r
@retval EFI_SUCCESS The HTTP body is received. \r
@retval Others Other error as indicated.\r
EFI_STATUS\r
HttpTcpReceiveBody (\r
IN HTTP_TOKEN_WRAP *Wrap,\r
- IN EFI_HTTP_MESSAGE *HttpMsg\r
+ IN EFI_HTTP_MESSAGE *HttpMsg,\r
+ IN EFI_EVENT Timeout\r
);\r
\r
/**\r