| #ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HFT_MANAGER_DEBUG_JSON_H_ |
| #define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HFT_MANAGER_DEBUG_JSON_H_ |
| |
| #include <nlohmann/json.hpp> |
| #include "tlbmc/hft/core/hft_service.h" |
| #include "tlbmc/hft/core/manager.h" |
| |
| namespace milotic_hft { |
| |
| // Debug-JSON rendering for the subscription manager, its subscriptions, and |
| // the HFT gRPC service. Lives outside the hft core so the core carries no |
| // nlohmann dependency: these helpers downcast to the known implementations |
| // (SubscriptionManagerImpl, SubscriptionManagerFake, ActiveSubscription) and |
| // render their debug snapshots; unknown implementations render as an empty |
| // object. |
| nlohmann::json SubscriptionManagerDebugJson(const SubscriptionManager& manager); |
| nlohmann::json SubscriptionDebugJson( |
| const SubscriptionManager::Subscription& subscription); |
| nlohmann::json HftServiceDebugJson(const HftServiceImpl& service); |
| |
| } // namespace milotic_hft |
| |
| #endif // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_HFT_MANAGER_DEBUG_JSON_H_ |