* Copyright (c) Huawei Technologies Co., Ltd. 2025-2026. All rights reserved.
* MindIE is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#ifndef OCK_ENDPOINT_H
#define OCK_ENDPOINT_H
#include "endpoint_def.h"
#include "health_checker/health_checker.h"
#include "http_rest_resource.h"
namespace mindie_llm {
class HttpWrapper;
class EngineWrapper;
class EndPoint {
public:
int32_t Start(std::unordered_map<std::string, std::string> args);
HealthChecker& GetHealthcheckerInstance() const;
void Stop();
private:
int StartEndpoint();
bool StartDynamicConfigHandler() const;
int StartHealthChecker();
std::mutex mMutex;
bool mExpertParallel{false};
bool mHealthcheckerStarted{false};
bool mEngineStarted{false};
bool mServerStarted{false};
bool mTokenizerStarted{false};
};
}
#endif