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.
 
 

79 lines
1.4 KiB

/*
* @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