第四章 Sysrepo连接与会话

摘自:https://blog.csdn.net/m0_47413019/article/details/106729466

写在前面,最近忙于工作与上王者。王者已上,已无它望,哈哈,以后还是保持尽量保证每周一更。

1 、何为连接与会话

      开发者要开始使用Sysrepo,首先必须创建一个连接。一个应用程序或者进程即使可以允许创建多个连接,但是一般情况只会创建一个连接。Sysrepo允许同时创建多个连接。简单的举个例子,通常情况下,sysrepo-plugin在init_cb初始时就会创建一个连接,这是一个由sysrepo-plugin与Sysrepo所创建的连接,只要发生异常不释放,该连接会一直存在整个sysrepo-plugin进程的生命周期,此外,例如用户通过sysrepoctl -l |grep ***看某个Yang模型是否已经加载,sysrepoctl应用程序也创建一个短连接,该连接在命令执行结束后立即释放,假如是极端修改,不释放该连接,再使用sysrepocfg来配置runing库,这时有3个与Sysrepo连接。并且3个连接不干扰,也不影响Sysrepo的正常工作。

     而会话,是建立在连接之下,一个连接下可以创建多个会话,每个会话都有一个唯一的标识,每个会话总是可以选择一个可随时更改的数据库,使用些会话的所有API调用都将在该数据库下操作。

连接与会话的关系如下所示,可能不是特别准备,但大概就是这个意思。

图1 连接与会话关系

 

2、核心数据结构

     Connection的数据结构主要是存储Sysrepo连接与Libyang的上下文,该连接所创建的共享内存结构。数据结构定义如下

。。。。。。。

连接与会话核心处就是这4个API函数,其它与连接与会话有关的API都是对相关的补充,想要进一步了解的.请阅读源码.

接下来会分析sysrepo的共享内存机制.SHM机制是新Sysrepo的核心,需要好好说道说道.

 

posted @   LiuYanYGZ  阅读(451)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示