会话与服务
普通应用先看托管服务器与设备数据和托管客户端:直接设置、启动、连接和读取,无需手动驱动事件循环。下述 Session、对象目录和分发接口用于分层集成及深度定制。
统一库中的会话与对象服务把协议层组装成可用的通信能力:连接管理、事务匹配、对象读写与方法分发。
分层关系
这一部分的页面
三个必须记住的约定
协议角色与拨号方向独立。 SessionOptions::role 决定谁是协议客户机,谁是协议服务器;TCP 由谁主动连接是传输层的事。集中器主动拨号连终端时,拨号方仍是协议客户机。
单在途事务。 一个 Session 同时只允许一个请求。第二个请求直接返回 busy,不进入队列。需要并发就创建多个 Session。
回调在执行器内串行执行。 所有处理器和完成回调都在 IExecutor 上运行。处理器内部绝不能阻塞等待同一执行器——那会让会话死锁。需要同步语义就用同步客户机,它会检测这种场景并返回 busy。