Stewardess:使用libevent测试TCP服务器功能

时间:2024-05-12 23:26:53
【文件属性】:

文件名称:Stewardess:使用libevent测试TCP服务器功能

文件大小:41KB

文件格式:ZIP

更新时间:2024-05-12 23:26:53

C++

空中小姐 介绍 一个异步应用程序层库,该库提供OOP接口以在TCP设备之间使用自定义协议。 它使用libevent等待文件描述符事件,因为它为每个系统选择了最合适的后端。 (例如select,epoll等),我选择不使用bufferevent结构,而是实现了一个自定义缓冲对象,该对象允许使用更多C ++友好功能,例如流运算符和写队列的实现。 线程数在运行时是可变的,并且为每个线程提供一个libevent event_base来处理其自己的连接。 整个系统被设计为完全异步的,而与用户的行为无关。 任何线程都可以影响任何连接,而不必担心数据争用或损坏。 但是,服务器回调也是异步的,因此您必须小心服务器逻辑! 你说异步吗? 系统希望用户配置多个工作线程。 每个建立的连接都只能在其分配的线程中访问,但是,通过使用连接句柄对象,任何线程都可以将消息排队或检查连接。 对句柄进行参考计数,并预期将其


【文件预览】:
Stewardess-development
----inc()
--------ConnectionRequest.h(289B)
--------Stewardess.h(419B)
--------Definitions.h(2KB)
--------TestClient.h(1KB)
--------EventCallbacks.h(1KB)
--------Handle.h(2KB)
--------InetAddress.h(2KB)
--------Payload.h(272B)
--------LibeventIncludes.h(419B)
--------TimerData.h(533B)
--------TestSerializer.h(927B)
--------CallbackInterface.h(2KB)
--------ReferenceCounter.h(1KB)
--------TestServer.h(824B)
--------Connection.h(3KB)
--------Serializer.h(2KB)
--------Exception.h(432B)
--------Manager.h(2KB)
--------ManagerImpl.h(5KB)
--------WorkerThread.h(439B)
--------Buffer.h(3KB)
--------Configuration.h(3KB)
----src()
--------TestClient.cpp(2KB)
--------TestServer.cpp(1KB)
--------Connection.cpp(3KB)
--------TestSerializer.cpp(2KB)
--------Buffer.cpp(7KB)
--------Exception.cpp(388B)
--------EventCallbacks.cpp(12KB)
--------Serializer.cpp(1KB)
--------CallbackInterface.cpp(213B)
--------Handle.cpp(2KB)
--------Manager.cpp(3KB)
--------WorkerThread.cpp(660B)
--------InetAddress.cpp(3KB)
--------Configuration.cpp(2KB)
--------ManagerImpl.cpp(14KB)
--------ReferenceCounter.cpp(2KB)
----source_cpath.sh(595B)
----README.md(3KB)
----makefile(6KB)
----exec()
--------StewardessTestServer.cxx(1KB)
--------BufferTest.cxx(6KB)
--------StewardessTestClient.cxx(1KB)
----.gitignore(30B)

网友评论