package distributed这个包中主要封装了各个服务进程间进行通信的方法。node子节点域root根节点进程中的接口调用返回的都是延迟对象。关于延迟对象的使用,详见twisted中Deferred对象。 calss Child child对象对应的是连接到本服务进程的某个服务进程对象。称为子节点对象。 getName获取子节点的名称
- type method
- //cwd firefly/ distributed / child.py
- Params getName()
- 返回节点的名称
复制代码
setTransport设置子节点的通道
- type method
- //cwd firefly/ distributed / child.py
- Params setTransport(transport)
复制代码
transport代理通道的实例 instance型 callbackChild回调子节点的接口
- type method
- //cwd firefly/ distributed / child.py
- Params allbackChild(*args,**kw)
复制代码
将参数*args,**kw传入 callChild 方法中,返回的是等待 callChild 返回结果的延迟对象 class ChildsManager 子节点管理基类 getChildById根据节点id获取节点实例‘‘
- type method
- //cwd firefly/ distributed / manager.py
- Params getChildById(childId)
复制代码
childId 节点id int型 返回节点实例
getChildByName根据节点的名称获取节点实例
- type method
- //cwd firefly/ distributed / manager.py
- Params getChildByName(childname)
复制代码
childname 节点名称 str型 返回节点实例 addChild添加一个子节点
- type method
- //cwd firefly/ distributed / manager.py
- Params addChild(child)
复制代码
child 节点实例 instance型 将节点添加到管理器中,格式为{节点id:节点实例},如果节点已存在,返回文字说明 dropChild删除一个节点
- type method
- //cwd firefly/ distributed / manager.py
- Params dropChild(child)
复制代码
child 节点实例 instance型 将节点从管理器中删除
dropChildByID
通过节点id删除一个节点
- type method
- //cwd firefly/ distributed / manager.py
- Params dropChildByID(childId)
复制代码
childId 节点id int型 通过节点id,在节点管理器中删除该节点 callChild调用子节点的接口
- type method
- //cwd firefly/ distributed / manager.py
- Params callChild(childId,*args,**kw)
复制代码
childId 子节点id 通过子节点id获取子节点实例,调用子节点接口,返回的是延迟对象。
callChildByName通过节点名称调用子节点的接口
- type method
- //cwd firefly/ distributed / manager.py
- Params callChildByName(childname,*args,**kw)
复制代码
Childname 子节点名称 通过子节点名称获取子节点实例,调用子节点接口,返回的是延迟对象。
class RemoteObject远程调用对象,子节点服务进程中实现。可以通过这对象去调用root节点的进程中的接口方法。 setName设置节点的名称
- type method
- //cwd firefly/ distributed / node.py
复制代码
Params setName(name)
name 节点名称 str型
将节点名称设置为name
getName获取节点的名称
- type method
- //cwd firefly/ distributed / node.py
- Params getName()
复制代码
返回节点名称的字符串 connect初始化远程调用对象,连接root节点。
- type method
- //cwd firefly/ distributed / node.py
- Params connect(addr)
复制代码
Addr 远程连接的地址 tuple型 (主机名,端口号) 例如:(‘localhost’,8888) addServiceChannel设置服务对象,这个服务对象中管理了可供root节点调用的接口方法。
- type method
- //cwd firefly/ distributed / node.py
- Params addServiceChannel(service)
复制代码
service为 //cwd firefly/ utils/ services.py 中service类 takeProxy像远程服务端发送代理通道对象
- type method
- //cwd firefly/ distributed / node.py
- Params takeProxy()
复制代码
callRemote远程调用root节点中的接口方法。
- type method
- //cwd firefly/ distributed / node.py
- Params callRemote(commandId,*args,**kw)
复制代码
commandId 指令号 int型 远程调用root节点中指令号为commandId的方法
class ProxyReference 代理通道 addService-----------添加一条服务通道
- type method
- //cwd firefly/ distributed / reference.py
- Params addService(service)
复制代码
service服务通道实例 instance型
remote_callChild--------------代理发送数据
- type method
- //cwd firefly/ distributed / reference.py
- Params remote_callChild(command,*arg,**kw)
复制代码
class PBRootPB 协议,root节点对象。 addServiceChannel设置服务对象,这个服务对象中管理了可供node子节点调用的接口方法。
- type method
- //cwd firefly/ distributed / root.py
- Params addServiceChannel(service)
复制代码
service服务对象实例 instance型 remote_takeProxy设置代理通道
- type method
- //cwd firefly/ distributed / root.py
- Params remote_takeProxy(name,transport)
复制代码
name 子节点id,同时也是子节点名称 transport代理通道的实例 instance型 实例化child节点,将child节点添加到节点管理器中,设置节点代理通道为transport remote_callTarget远程调用方法
- type method
- //cwd firefly/ distributed / root.py
- Params remote_callTarget(command,*args,**kw)
复制代码
command指令号 int型 远程调用root节点中指令号为command的方法 dropChild删除子节点记录
- type method
- //cwd firefly/ distributed / root.py
- Params dropChild(*args,**kw)
复制代码
从节点管理器中删除子节点 dropChildByID根据ID删除子节点记录
- type method
- //cwd firefly/ distributed / root.py
- Params dropChildByID(childId)
复制代码
ChildId 子节点id
callChild调用子节点的接口
- type method
- //cwd firefly/ distributed / root.py
- Params callChild(key,*args,**kw)
复制代码
key子节点id 通过子节点id获取子节点实例,调用子节点接口,返回的是延迟对象。
callChildByName调用子节点的接口
- type method
- //cwd firefly/ distributed / root.py
- Params callChildByName(childname,*args,**kw)
复制代码
childname子节点名称 通过子节点名称获取子节点实例,调用子节点接口,返回的是延迟对象。
|