Introduce RedfishHttpCacheLib to improve HTTP GET performance in Redfish feature drivers. Feature drivers often query same Redfish resource multiple times for different purpose. Add HTTP cache mechanism to improve the performance.
An enhanced Redfish HTTP driver is under development and it will replace RedfishHttpCacheLib in the future when it is ready. Now, adding RedfishHttpCacheLib is to unblock several upstream tasks. Pull request is opened here for CI testing: https://github.com/tianocore/edk2-redfish-client/pull/66 Signed-off-by: Nickle Wang <nick...@nvidia.com> Cc: Abner Chang <abner.ch...@amd.com> Cc: Igor Kulchytskyy <ig...@ami.com> Cc: Nick Ramirez <nrami...@nvidia.com> Nickle Wang (10): RedfishClientPkg: introduce Redfish HTTP cache library RedfishClientPkg: use HTTP cache lib RedfishClientPkg/ComputerSystemCollectionDxe: use HTTP cache lib RedfishClientPkg/ComputerSystem: use HTTP cache lib RedfishClientPkg/MemoryCollectionDxe: use HTTP cache lib RedfishClientPkg/Memory: use HTTP cache lib RedfishClientPkg/Bios: use HTTP cache lib RedfishClientPkg/EdkIIRedfishResourceConfigLib: use HTTP cache lib RedfishClientPkg/RedfishVersionLib: use HTTP cache lib RedfishClientPkg/RedfishFeatureUtilityLib: use HTTP cache lib RedfishClientPkg/RedfishClientPkg.dec | 3 +- RedfishClientPkg/RedfishClientLibs.dsc.inc | 3 +- RedfishClientPkg/RedfishClientPkg.dsc | 3 +- .../Features/Bios/v1_0_9/Dxe/BiosDxe.inf | 3 +- .../v1_5_0/Dxe/ComputerSystemDxe.inf | 3 +- .../ComputerSystemCollectionDxe.inf | 2 + .../Features/Memory/V1_7_1/Dxe/MemoryDxe.inf | 3 +- .../MemoryCollectionDxe.inf | 2 + .../EdkIIRedfishResourceConfigLib.inf | 2 + .../RedfishFeatureUtilityLib.inf | 3 +- .../RedfishHttpCacheLib.inf | 48 ++ .../RedfishVersionLib/RedfishVersionLib.inf | 3 + .../Library/RedfishFeatureUtilityLib.h | 21 +- .../Include/Library/RedfishHttpCacheLib.h | 59 ++ .../Include/RedfishCollectionCommon.h | 4 +- .../Include/RedfishResourceCommon.h | 3 +- .../RedfishFeatureUtilityInternal.h | 3 +- .../RedfishHttpCacheLibInternal.h | 63 ++ .../Features/Bios/v1_0_9/Dxe/BiosDxe.c | 80 +- .../v1_5_0/Dxe/ComputerSystemDxe.c | 70 +- .../ComputerSystemCollectionDxe.c | 24 +- .../Features/Memory/V1_7_1/Dxe/MemoryDxe.c | 70 +- .../MemoryCollectionDxe/MemoryCollectionDxe.c | 24 +- .../EdkIIRedfishResourceConfigLib.c | 6 +- .../RedfishFeatureUtilityLib.c | 67 +- .../RedfishHttpCacheLib/RedfishHttpCacheLib.c | 774 ++++++++++++++++++ .../RedfishVersionLib/RedfishVersionLib.c | 30 +- 27 files changed, 1174 insertions(+), 202 deletions(-) create mode 100644 RedfishClientPkg/Library/RedfishHttpCacheLib/RedfishHttpCacheLib.inf create mode 100644 RedfishClientPkg/Include/Library/RedfishHttpCacheLib.h create mode 100644 RedfishClientPkg/Library/RedfishHttpCacheLib/RedfishHttpCacheLibInternal.h create mode 100644 RedfishClientPkg/Library/RedfishHttpCacheLib/RedfishHttpCacheLib.c -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113081): https://edk2.groups.io/g/devel/message/113081 Mute This Topic: https://groups.io/mt/103500346/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-