|
| HttpApp () |
| 构造函数0 更多...
|
|
| HttpApp (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) |
| 构造函数1 更多...
|
|
| HttpApp (winux::ConfigureSettings const &settings, AppServerExternalData *externalData, eiennet::ip::EndPoint const &ep, int threadCount=4, int backlog=0, double serverWait=0.002, double verboseInterval=0.01, bool verbose=true, int cacheLifeTime=86400) |
| 构造函数2 更多...
|
|
bool | init (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) |
| 初始化1 更多...
|
|
bool | init (winux::ConfigureSettings const &settings, AppServerExternalData *externalData, eiennet::ip::EndPoint const &ep, int threadCount=4, int backlog=0, double serverWait=0.002, double verboseInterval=0.01, bool verbose=true, int cacheLifeTime=86400) |
| 初始化2 更多...
|
|
void | crossRoute (winux::String const &method, winux::String const &path, CrossRouteHandlerFunction handler) |
| 注册过径路由处理器 更多...
|
|
void | route (winux::String const &method, winux::String const &path, RouteHandlerFunction handler) |
| 注册普通路由处理器 更多...
|
|
virtual int | run (void *runParam) override |
| 运行 更多...
|
|
void | onWebMainHandler (WebMainHandlerFunction handler) |
|
| App () |
| 构造函数0 更多...
|
|
| App (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) |
| 构造函数2 更多...
|
|
virtual | ~App () |
| 析构函数 更多...
|
|
bool | init (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) |
| 初始化App对象 更多...
|
|
int | loadedDoFiles (winux::Mixed *arrDoFiles) const |
| 产品模式下,显示所有已经加载的do文件 更多...
|
|
bool | unloadDoFile (winux::String const &doFullPath) |
| 卸载指定的do文件 更多...
|
|
winux::DllLoader & | loadModule (winux::String const &modFullPath) |
| 加载一个模块,若已经加载则返回其引用. 更多...
|
|
int | loadedModules (winux::Mixed *arrModules) const |
| 显示已经加载的模块 更多...
|
|
bool | unloadModule (winux::String const &modFullPath) |
| 卸载一个模块 更多...
|
|
App & | loadEnv () |
| 加载可执行文件的环境变量 更多...
|
|
winux::String | dumpEnv () const |
| 倾泻出应用全部环境变量 更多...
|
|
virtual ErrorCode | execWebMain (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode) |
| 执行生成页面内容的过程,载入绝对路径doFullPath的do文件,并调用其WebMain()。 更多...
|
|
ErrorCode | importDoFile (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
| import一个do文件,并把它的输出作为指定rsp的输出 更多...
|
|
void * | getParam () const |
| 取得do传递的参数 更多...
|
|
template<typename _Ty > |
_Ty | getParam () const |
| 取得do传递的参数 更多...
|
|
void | setParam (void *param) |
| 设置do传递参数 更多...
|
|
void * | getRunParam () const |
| 取得从run()传进的参数 更多...
|
|
template<typename _Ty > |
_Ty | getRunParam () const |
| 取得从run()传进的参数 更多...
|
|
AppServerExternalData * | getExternalData () |
| 取得外部定义的相关数据 更多...
|
|
void | setExternalData (AppServerExternalData *data) |
| 设置外部定义的相关数据 更多...
|
|
SessionServer * | getSessServ () |
| 取得SessionServer 更多...
|
|
void | setSessServ (SessionServer *sessServ) |
| 设置SessionServer 更多...
|
|
| Server () |
| 构造函数0,不会启动服务,必须手动调用startup() 更多...
|
|
| Server (bool autoReadData, ip::EndPoint const &ep, int threadCount=4, int backlog=0, double serverWait=0.002, double verboseInterval=0.01, bool verbose=true) |
| 构造函数1,会启动服务 更多...
|
|
virtual | ~Server () |
|
bool | startup (bool autoReadData, ip::EndPoint const &ep, int threadCount=4, int backlog=0, double serverWait=0.002, double verboseInterval=0.01, bool verbose=true) |
| 启动服务器 更多...
|
|
void | stop (bool b=true) |
| 是否停止服务运行 更多...
|
|
size_t | getClientsCount () const |
| 获取客户连接数 更多...
|
|
void | removeClient (winux::uint64 clientId) |
| 移除客户连接 更多...
|
|
void | onClientDataNotifyHandler (ClientDataNotifyHandlerFunction handler) |
|
void | onClientDataArrivedHandler (ClientDataArrivedHandlerFunction handler) |
|
void | onCreateClientHandler (CreateClientHandlerFunction handler) |
|
|
virtual void | onClientDataArrived (winux::SharedPointer< eiennet::ClientCtx > clientCtxPtr, winux::Buffer data) override |
|
virtual eiennet::ClientCtx * | onCreateClient (winux::uint64 clientId, winux::String const &clientEpStr, winux::SharedPointer< eiennet::ip::tcp::Socket > clientSockPtr) override |
|
void | _onClientRequestInternal (winux::SharedPointer< HttpRequestCtx > httpClientCtxPtr, http::Header &header, winux::AnsiString &body) |
|
virtual void | onWebMain (winux::SharedPointer< HttpRequestCtx > requestCtxPtr, eienwebx::Response &rsp) |
|
void | _clearModules () |
| 清空已加载的模块和WebMain函数 更多...
|
|
ErrorCode | _importDoFileDevelopment (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
|
ErrorCode | _importDoFileProduction (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
|
winux::SharedPointer< ClientCtx > & | _addClient (ip::EndPoint const &clientEp, winux::SharedPointer< ip::tcp::Socket > clientSockPtr) |
| 添加一个客户连接,会触发调用onCreateClient()创建客户场景对象 更多...
|
|
template<typename _Fx , typename... _ArgType> |
void | _postTask (winux::SharedPointer< ClientCtx > clientCtxPtr, _Fx fn, _ArgType &&...arg) |
| 往线程池投递任务 更多...
|
|
virtual void | onClientDataNotify (winux::SharedPointer< ClientCtx > clientCtxPtr, size_t readableSize) |
|
|
eiennet::StaticFileMemoryCache | _staticFileCache |
| 静态文件缓存 更多...
|
|
std::vector< std::unordered_map< winux::String, std::unordered_map< winux::String, CrossRouteHandlerFunction > > > | _crossRouter |
| 过径路由器 [ { pathpart: { GET: handleGet, POST: handlePost, ... }, ... }, ... ] 更多...
|
|
std::unordered_map< winux::String, std::unordered_map< winux::String, RouteHandlerFunction > > | _router |
| 普通路由器 { path: { GET: handleGet, POST: handlePost, ... }, ... } 更多...
|
|
WebMainHandlerFunction | _WebMainHandler |
|
SessionServer * | _sessServ |
| 会话服务器 更多...
|
|
void * | _runParam |
| 来自run()传递进来的参数 更多...
|
|
void * | _param |
| 来自setParam()传递进来的参数 更多...
|
|
AppServerExternalData * | _externalData |
| 创建App对象的程序传递进来的结构。由外部定义,定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用 更多...
|
|
std::map< winux::String, winux::SimplePointer< winux::DllLoader > > | _loadedDlls |
| 已经加载的dll 更多...
|
|
std::map< winux::String, WebMainFunc > | _loadedWebMainFuncs |
| 已经取得的WebMain()指针 更多...
|
|
winux::Mutex | _mtxApp |
| 互斥量,保护App共用成员数据 更多...
|
|
bool | _isSetDoDirAsWorkDir |
| 是否设置Do文件目录作为工作目录,多线程环境下应该设为false 更多...
|
|
winux::ThreadPool | _pool |
| 线程池 更多...
|
|
winux::RecursiveMutex | _mtxServer |
| 互斥量保护服务器共享数据 更多...
|
|
ip::tcp::Socket | _servSockA |
| 服务器监听套接字A 更多...
|
|
ip::tcp::Socket | _servSockB |
| 服务器监听套接字B 更多...
|
|
std::map< winux::uint64, winux::SharedPointer< ClientCtx > > | _clients |
| 客户映射表 更多...
|
|
winux::uint64 | _cumulativeClientId |
| 客户唯一标识 更多...
|
|
bool | _stop |
| 是否停止 更多...
|
|
bool | _servSockAIsListening |
| servSockA是否处于监听中 更多...
|
|
bool | _servSockBIsListening |
| servSockB是否处于监听中 更多...
|
|
bool | _isAutoReadData |
| 是否自动读取客户到达的数据。当为true时,客户数据达到时调用ClientDataArrived事件,否则调用ClientDataNotify事件 更多...
|
|
double | _serverWait |
| 服务器IO等待时间间隔(秒) 更多...
|
|
double | _verboseInterval |
| Verbose信息刷新间隔(秒) 更多...
|
|
bool | _verbose |
| 显示提示信息 更多...
|
|
ClientDataNotifyHandlerFunction | _ClientDataNotifyHandler |
|
ClientDataArrivedHandlerFunction | _ClientDataArrivedHandler |
|
CreateClientHandlerFunction | _CreateClientHandler |
|
HttpApp类
App和Server合并
在文件 webx_HttpApp.hpp 第 18 行定义.