zoukankan      html  css  js  c++  java
  • 【Firefly API 新版文档】Package Distributed

    package distributed这个包中主要封装了各个服务进程间进行通信的方法。node子节点域root根节点进程中的接口调用返回的都是延迟对象。关于延迟对象的使用,详见twisted中Deferred对象。
    calss Child child对象对应的是连接到本服务进程的某个服务进程对象。称为子节点对象。
    getName获取子节点的名称
    1. type method
    2. //cwd firefly/ distributed / child.py
    3. Params getName()
    4. 返回节点的名称
    复制代码
    setTransport设置子节点的通道
    1. type method
    2. //cwd firefly/ distributed / child.py
    3. Params setTransport(transport)
    复制代码
    transport代理通道的实例 instance型
    callbackChild回调子节点的接口
    1. type method
    2. //cwd firefly/ distributed / child.py
    3. Params allbackChild(*args,**kw)
    复制代码
    将参数*args,**kw传入 callChild 方法中,返回的是等待 callChild 返回结果的延迟对象
        
    class ChildsManager    子节点管理基类
    getChildById根据节点id获取节点实例''
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params getChildById(childId)
    复制代码
    childId 节点id int型
    返回节点实例

    getChildByName根据节点的名称获取节点实例
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params getChildByName(childname)
    复制代码
    childname 节点名称 str型
    返回节点实例
    addChild添加一个子节点
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params addChild(child)
    复制代码
    child 节点实例 instance型
    将节点添加到管理器中,格式为{节点id:节点实例},如果节点已存在,返回文字说明
    dropChild删除一个节点
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params dropChild(child)
    复制代码
    child 节点实例 instance型
    将节点从管理器中删除

    dropChildByID

    通过节点id删除一个节点
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params dropChildByID(childId)
    复制代码
    childId 节点id int型
    通过节点id,在节点管理器中删除该节点
    callChild调用子节点的接口
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params callChild(childId,*args,**kw)
    复制代码
    childId 子节点id
    通过子节点id获取子节点实例,调用子节点接口,返回的是延迟对象。

    callChildByName通过节点名称调用子节点的接口
    1. type method
    2. //cwd firefly/ distributed / manager.py
    3. Params callChildByName(childname,*args,**kw)
    复制代码
    Childname  子节点名称
    通过子节点名称获取子节点实例,调用子节点接口,返回的是延迟对象。

    class RemoteObject远程调用对象,子节点服务进程中实现。可以通过这对象去调用root节点的进程中的接口方法。
    setName设置节点的名称
    1. type method
    2. //cwd firefly/ distributed / node.py
    复制代码
    Params setName(name)
    name 节点名称 str型
    将节点名称设置为name
     
    getName获取节点的名称
    1. type method
    2. //cwd firefly/ distributed / node.py
    3. Params getName()
    复制代码
    返回节点名称的字符串
    connect初始化远程调用对象,连接root节点。
    1. type method
    2. //cwd firefly/ distributed / node.py
    3. Params connect(addr)
    复制代码
    Addr 远程连接的地址 tuple型 (主机名,端口号) 例如:(‘localhost’,8888)
    addServiceChannel设置服务对象,这个服务对象中管理了可供root节点调用的接口方法。
    1. type method
    2. //cwd firefly/ distributed / node.py
    3. Params addServiceChannel(service)
    复制代码
    service为 //cwd firefly/ utils/ services.py 中service类
    takeProxy像远程服务端发送代理通道对象
    1. type method
    2. //cwd firefly/ distributed / node.py
    3. Params takeProxy()
    复制代码
    callRemote远程调用root节点中的接口方法。
    1. type method
    2. //cwd firefly/ distributed / node.py
    3. Params callRemote(commandId,*args,**kw)
    复制代码
    commandId 指令号 int型
    远程调用root节点中指令号为commandId的方法


    class ProxyReference    代理通道
    addService-----------添加一条服务通道
    1. type method
    2. //cwd firefly/ distributed / reference.py
    3. Params addService(service)
    复制代码
    service服务通道实例 instance型

    remote_callChild--------------代理发送数据
    1. type method
    2. //cwd firefly/ distributed / reference.py
    3. Params remote_callChild(command,*arg,**kw)
    复制代码
    class PBRootPB 协议,root节点对象。
    addServiceChannel设置服务对象,这个服务对象中管理了可供node子节点调用的接口方法。
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params addServiceChannel(service)
    复制代码
    service服务对象实例 instance型
    remote_takeProxy设置代理通道
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params remote_takeProxy(name,transport)
    复制代码
    name 子节点id,同时也是子节点名称
    transport代理通道的实例 instance型
    实例化child节点,将child节点添加到节点管理器中,设置节点代理通道为transport
    remote_callTarget远程调用方法
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params remote_callTarget(command,*args,**kw)
    复制代码
    command指令号 int型
    远程调用root节点中指令号为command的方法
    dropChild删除子节点记录
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params dropChild(*args,**kw)
    复制代码
    从节点管理器中删除子节点
    dropChildByID根据ID删除子节点记录
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params dropChildByID(childId)
    复制代码
    ChildId 子节点id

    callChild调用子节点的接口
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params callChild(key,*args,**kw)
    复制代码
    key子节点id
    通过子节点id获取子节点实例,调用子节点接口,返回的是延迟对象。

    callChildByName调用子节点的接口
    1. type method
    2. //cwd firefly/ distributed / root.py
    3. Params callChildByName(childname,*args,**kw)
    复制代码
    childname子节点名称
    通过子节点名称获取子节点实例,调用子节点接口,返回的是延迟对象。

  • 相关阅读:
    面试40-一个数组,有2个数字出现奇数次,其余都是偶数次,求这两个数字O(n) O(1)
    面试38-数字在排序数组中出现的个数
    面试35-删除字符串重复字符-删除出现在第二个字符串中的字符-第一个只出现一次的字符-hash表计数
    意外get接近完美的黑苹果 (UEFI + GPT)
    Windows 启用/禁用内置管理员 Administrator
    出去走走
    【搬运】Wget 命令详解
    C语言学习之插入排序
    由 UWP 版网易云音乐闪退引发的博文
    gets() 与 scanf() 的小尴尬
  • 原文地址:https://www.cnblogs.com/9miaoshetuan/p/3845149.html
Copyright © 2011-2022 走看看