📄 event_tcp.h
字号:
/************************************************************************* event-tcp.h** Event-driven TCP functions to allow for single-threaded "concurrent"* server.** Copyright (C) 2001 Roaring Penguin Software Inc.** $Id: event_tcp.h,v 1.3 2002/04/09 20:52:03 dfs Exp $** This program may be distributed according to the terms of the GNU* General Public License, version 2 or (at your option) any later version.** LIC: GPL************************************************************************/#ifndef INCLUDE_EVENT_TCP_H#define INCLUDE_EVENT_TCP_H 1#include "event.h"#include <sys/socket.h>typedef void (*EventTcpAcceptFunc)(EventSelector *es, int fd);typedef void (*EventTcpConnectFunc)(EventSelector *es, int fd, int flag, void *data);typedef void (*EventTcpIOFinishedFunc)(EventSelector *es, int fd, char *buf, int len, int flag, void *data);#define EVENT_TCP_FLAG_COMPLETE 0#define EVENT_TCP_FLAG_IOERROR 1#define EVENT_TCP_FLAG_EOF 2#define EVENT_TCP_FLAG_TIMEOUT 3typedef struct EventTcpState_t { int socket; char *buf; char *cur; int len; int delim; EventTcpIOFinishedFunc f; EventSelector *es; EventHandler *eh; void *data;} EventTcpState;extern EventHandler *EventTcp_CreateAcceptor(EventSelector *es, int socket, EventTcpAcceptFunc f);extern void EventTcp_Connect(EventSelector *es, int fd, struct sockaddr const *addr, socklen_t addrlen, EventTcpConnectFunc f, int timeout, void *data);extern EventTcpState *EventTcp_ReadBuf(EventSelector *es, int socket, int len, int delim, EventTcpIOFinishedFunc f, int timeout, void *data);extern EventTcpState *EventTcp_WriteBuf(EventSelector *es, int socket, char *buf, int len, EventTcpIOFinishedFunc f, int timeout, void *data);extern void EventTcp_CancelPending(EventTcpState *s);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -