zoukankan      html  css  js  c++  java
  • 第四章 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的核心,需要好好说道说道.

  • 相关阅读:
    Java三大框架
    单例模式和工厂模式(百度文库)
    使用java代码编辑oracle数据库
    extends 与implements的区别和用法
    介绍MVC编程架构模式
    接口具体是什么东西
    Servlet和JSP的本质和区别
    用户注册,登录,留言系统
    页面跳转的五种方法
    cookie的长度和限制数量
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/14286214.html
Copyright © 2011-2022 走看看