cocoon/server.h
xfy911 da8fe6b545 feat(server): 实现基于 coco 协程的 TCP 服务器核心
- server_create/start/stop/destroy: 服务器生命周期管理
- accept_loop: 主 accept 循环(单线程/多线程模式)
- client_handler: 每个连接一个协程,支持 HTTP keep-alive
- conn_read/write: 协程安全的非阻塞 I/O 封装
- 支持多线程调度(coco_global_sched)
2026-06-03 16:47:40 +08:00

53 lines
1.1 KiB
C

/**
* server.h - 服务器核心模块接口
*
* @author xfy
*/
#ifndef COCOON_SERVER_H
#define COCOON_SERVER_H
#include "cocoon.h"
#include <stdint.h>
/**
* server_context_t - 服务器运行时上下文
*
* 包含监听 socket、配置、运行状态等。
*/
typedef struct server_context server_context_t;
/**
* server_start - 启动服务器(阻塞直到 stop 被调用)
*
* @param ctx 服务器上下文
* @return COCOON_OK 成功,负值错误码
*/
int server_start(server_context_t *ctx);
/**
* server_stop - 请求服务器停止
*
* 设置停止标志,等待当前连接处理完毕后退出。
*
* @param ctx 服务器上下文
*/
void server_stop(server_context_t *ctx);
/**
* server_create - 创建服务器上下文
*
* @param config 配置指针
* @return 服务器上下文,失败返回 NULL
*/
server_context_t *server_create(const cocoon_config_t *config);
/**
* server_destroy - 销毁服务器上下文
*
* @param ctx 服务器上下文
*/
void server_destroy(server_context_t *ctx);
#endif /* COCOON_SERVER_H */