一种用于运输的操作系统aio吊舱组件。

os-aio-pod-channel的Python项目详细描述


操作系统aio pod频道

Build StatuscodecovPyPI - Python VersionPyPI

一种用于运输的操作系统aio吊舱组件。

这个库被设计为os-aio-pod框架的一个组件。它主要用于TCP端点之间的数据传输。os-aio-pod内置tcp服务器用作后台驱动引擎。使用中间件/扩展机制,您可以轻松地构建aio程序,如proxy或mitm server。

安装

pip install os-aio-pod-channel

概念

  • engine:用于适应os aio pod框架,驱动整个事件循环。它也是组件之间通信的访问点。
  • endpoint:每个传入或传出连接都称为endpoint。通常,引擎只是使用它的api来读、写数据或关闭连接。
  • channel:当传入和传出端点都已连接时,它们之间会建立一个通道。发动机负责其内部运输状态。
  • 中间件:用于与通道通信和处理数据。
  • 扩展:用于函数扩展。可以从引擎实例访问。

用法

此库与os-aio-pod一起使用。通常,您应该定义一个配置文件并使用os aio pod命令行工具运行。

一个最小的配置文件(不做任何事,只接受TCP连接,读取并删除):

# config.py
BEANS  = [
    {
        'core'  : 'os_aio_pod.contrib.tcp_server.TCPServerAdapter',
        'server': 'os_aio_pod_channel.engine.Engine',
        'MIDDLEWARES': [],
        'EXTENSIONS': [],
    }
]
os-aio-pod run -c config.py --debug

中间件

当数据传输或通道关闭时,将按特定顺序调用相应的中间件方法。您应该从os_aio_pod_channel.middleware.Middleware继承,并在MIDDLEWARES列表中配置每个中间件的类、id和其他参数。

延伸

您应该继承os_aio_pod_channel.extension.Extension,并在EXTENSIONS列表中配置每个扩展的类、名称和其他参数。您可以通过engine.extension_manager.get_extension(extension_name)

单元测试

tox

许可证

麻省理工学院许可

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正在寻找Java8中的内置函数以忽略异常   javascript JQuery更改Div的颜色   java PostgreSQL使用JDBC写入inet列   java为什么体重指数计算结果不正确?   java禁用linux中的log4j控制台日志记录   java我可以让我的JMS主题在新订阅者连接时通知发布者(使用ActiveMQ)   基于三个浮点输入的java过滤器JTable?   Java OpenGL/LWJGL体素纹理   在SpringBoot java应用程序中,有没有一种方法可以通过不同的机器使用hostIP作为主机远程连接到redis服务器   java Struts 2 s:提交按钮语法以在映射中设置值   java源代码:setDomainEnv。windows 7中的cmd文件   缺少货币计算java的返回语句   JavaHibernate没有注意到从其他源进行的数据库更新   无法在OpenCV/Java中生成负矩阵   Java不做循环   java无法使用类对象写入文件ArrayList   jpa使用数组作为调用Java的存储过程的输入   java使用文件提供程序检索内容Uri失败   需要java程序来创建方法模板