You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/*
|
|
|
|
* @Description:
|
|
|
|
* @Version: 1.0
|
|
|
|
* @Autor: lishengyin
|
|
|
|
* @Date: 2022-04-11 17:12:05
|
|
|
|
* @LastEditors: lishengyin
|
|
|
|
* @LastEditTime: 2022-04-12 10:13:25
|
|
|
|
*/
|
|
|
|
#ifndef __USERAPP_HPP_
|
|
|
|
#define __USERAPP_HPP_
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <string.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <atomic>
|
|
|
|
#include <bitset>
|
|
|
|
#include <functional>
|
|
|
|
#include <list>
|
|
|
|
#include <memory>
|
|
|
|
#include <string>
|
|
|
|
#include <thread>
|
|
|
|
#include <typeinfo>
|
|
|
|
#include <unordered_map>
|
|
|
|
#include <utility>
|
|
|
|
#include "Network/TcpServer.h"
|
|
|
|
#include "Network/TcpSession.h"
|
|
|
|
#include "TcpProxySession.hpp"
|
|
|
|
#include "Disposition.hpp"
|
|
|
|
#include "Poller/Timer.h"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
using namespace toolkit;
|
|
|
|
|
|
|
|
#define OK 0
|
|
|
|
#define ERR -1
|
|
|
|
|
|
|
|
|
|
|
|
class UserApp:private NonCopyable
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
UserApp(std::string appName):appName_(appName){}
|
|
|
|
public:
|
|
|
|
using Ptr = std::shared_ptr<UserApp>;
|
|
|
|
|
|
|
|
~UserApp(){}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description: 创建新的实例
|
|
|
|
* @param {string} appName
|
|
|
|
* @return {*}
|
|
|
|
*/
|
|
|
|
static std::shared_ptr<UserApp> CreateNew(std::string appName);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description: 初始化
|
|
|
|
* @param {*}
|
|
|
|
* @return {*}
|
|
|
|
*/
|
|
|
|
int8_t Init();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description: 启动任务
|
|
|
|
* @param {*}
|
|
|
|
* @return {*}
|
|
|
|
*/
|
|
|
|
int8_t StartTask();
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::string appName_;
|
|
|
|
int port = 7400;
|
|
|
|
TcpServer::Ptr m_tcpServer = nullptr;
|
|
|
|
Timer::Ptr m_timer;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|