Documentation ¶
Index ¶
- Constants
- type ProxyCache
- type ProxyData
- func (pr *ProxyData) AddOrUpdateProxyRec(nodes []ProxyInfo, proxyId, recvId *nodeStore.AddressNet) bool
- func (pr *ProxyData) GetNodeIdProxy(clientNode *ProxyInfo) (exist bool, res []*ProxyInfo)
- func (pr *ProxyData) GetNodeIdProxy2(nodeId *nodeStore.AddressNet, machineId string) (exist bool, res []*ProxyInfo)
- type ProxyDetailInfo
- func (pd *ProxyDetailInfo) AddProxyDetail(clientAddr, proxyId nodeStore.AddressNet, machineId string, version int64) bool
- func (pd *ProxyDetailInfo) AddWhiteNode(nodeId *nodeStore.AddressNet) bool
- func (pd *ProxyDetailInfo) AddWhiteNodes(nodeIds []nodeStore.AddressNet) bool
- func (pd *ProxyDetailInfo) CheckIsSaveAddr(addr *nodeStore.AddressNet) bool
- func (pd *ProxyDetailInfo) CheckWhiteNode(nodeId *nodeStore.AddressNet) bool
- func (pd *ProxyDetailInfo) GetWhiteNode() []*nodeStore.AddressNet
- func (pd *ProxyDetailInfo) NodeOfflineDeal(offlineAddr *nodeStore.AddressNet)
- func (pd *ProxyDetailInfo) NodeOnlineDeal(node *nodeStore.Node)
- func (pd *ProxyDetailInfo) RemoveProxyDetail(addr *nodeStore.AddressNet, machineId string, version int64) bool
- func (pd *ProxyDetailInfo) RemoveWhiteNode(nodeId *nodeStore.AddressNet)
- type ProxyInfo
- type ProxyNodeRecInfo
Constants ¶
const ( MAX_REC_PROXY_CNT = 3 // 最大存储节点数量 ProxySyncTime = 5 * time.Second // 节点同步时间 ProxyDataInvalieTime = 2 // 节点数据失效次数 CacheValidTime = time.Second // 代理缓存有效时间 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProxyCache ¶
type ProxyCache struct {
// contains filtered or unexported fields
}
代理记录信息
func (*ProxyCache) AddOrUpdateProxyRec ¶
func (pc *ProxyCache) AddOrUpdateProxyRec(nodes []*ProxyInfo) bool
* AddOrUpdateProxyRec 添加或更新代理记录信息 * * @param nodes []ProxyInfo 代理信息列表 * @param proxyId Address 代理节点地址 * @param recvId Address 存储节点地址 * @return success bool 是否添加成功
func (*ProxyCache) GetNodeIdProxy ¶
func (pc *ProxyCache) GetNodeIdProxy(nodeId *nodeStore.AddressNet, machineId string) (exist bool, res []*ProxyInfo)
* GetNodeIdProxy 根据节点地址和机器id获取对应的缓存代理信息,如果机器id传入空串,将会获取该地址对应的所有端的代理信息 * * @param nodeId *AddressNet 客户端节点id * @param machineId string 客户端机器id, 如果传入空串, 将获取地址对应所有machineid的客户端地址 * @return exist bool 是否存在该节点对应的代理信息 * @return res []*ProxyInfo 代理信息列表
type ProxyData ¶
type ProxyData struct {
// contains filtered or unexported fields
}
代理记录信息
func (*ProxyData) AddOrUpdateProxyRec ¶
func (pr *ProxyData) AddOrUpdateProxyRec(nodes []ProxyInfo, proxyId, recvId *nodeStore.AddressNet) bool
* AddOrUpdateProxyRec 添加或更新代理记录信息 * * @param nodes []ProxyInfo 代理信息列表 * @param proxyId Address 代理节点地址 * @param recvId Address 存储节点地址 * @return success bool 是否添加成功
func (*ProxyData) GetNodeIdProxy ¶
* GetNodeIdProxy 根据节点地址和机器id获取对应的代理信息,如果机器id传入空串,将会获取该地址对应的所有端的代理信息 * * @param clientNode *ProxyInfo 代理信息 * @return exist bool 是否存在该节点对应的代理信息 * @return res []*ProxyInfo 代理信息列表
func (*ProxyData) GetNodeIdProxy2 ¶
func (pr *ProxyData) GetNodeIdProxy2(nodeId *nodeStore.AddressNet, machineId string) (exist bool, res []*ProxyInfo)
* GetNodeIdProxy2 根据节点地址和机器id获取对应的代理信息,如果机器id传入空串,将会获取该地址对应的所有端的代理信息 * * @param nodeId *AddressNet 节点地址 * @param machineId string 机器id,如果机器id传入空串,将会获取该地址对应的所有端的代理信息 * @return exist bool 是否存在该节点对应的代理信息 * @return res []*ProxyInfo 代理信息列表
type ProxyDetailInfo ¶
type ProxyDetailInfo struct {
// contains filtered or unexported fields
}
* 代理节点详情信息
func NewProxyDetail ¶
func NewProxyDetail(ctx context.Context, msgCenter *message_center.MessageCenter) *ProxyDetailInfo
* NewProxyData 创建代理详情对象
func (*ProxyDetailInfo) AddProxyDetail ¶
func (pd *ProxyDetailInfo) AddProxyDetail(clientAddr, proxyId nodeStore.AddressNet, machineId string, version int64) bool
* AddProxyDetail 增加代理详情 * * @param clientAddr AddressNet 被代理的节点地址 * @param proxyId AddressNet 代理节点地址 * @param machineId string 被代理的节点机器id * @param version int64 设置代理的版本号 * @return success bool 是否添加成功
func (*ProxyDetailInfo) AddWhiteNode ¶
func (pd *ProxyDetailInfo) AddWhiteNode(nodeId *nodeStore.AddressNet) bool
* 添加保存节点白名单, 即会保存所有节点代理信息 * * @param nodeId *AddressNet 添加的节点地址
func (*ProxyDetailInfo) AddWhiteNodes ¶
func (pd *ProxyDetailInfo) AddWhiteNodes(nodeIds []nodeStore.AddressNet) bool
* 添加保存节点白名单列表, 即会保存所有节点代理信息 * * @param nodeIds []*AddressNet 添加的节点地址
func (*ProxyDetailInfo) CheckIsSaveAddr ¶
func (pd *ProxyDetailInfo) CheckIsSaveAddr(addr *nodeStore.AddressNet) bool
* CheckIsSaveAddr 检查地址是不是存储节点地址 * * @param offlineAddr AddressNet 下线节点地址 * @return exist bool 是不是存储节点标识
func (*ProxyDetailInfo) CheckWhiteNode ¶
func (pd *ProxyDetailInfo) CheckWhiteNode(nodeId *nodeStore.AddressNet) bool
* 检查节点是不是白名单节点 * * @param nodeId *AddressNet 检查的节点地址 * @return exist bool 是不是白名单标识
func (*ProxyDetailInfo) GetWhiteNode ¶
func (pd *ProxyDetailInfo) GetWhiteNode() []*nodeStore.AddressNet
* 获取所有的保存节点白名单列表 * * @return res []*AddressNet 白名单节点地址列表
func (*ProxyDetailInfo) NodeOfflineDeal ¶
func (pd *ProxyDetailInfo) NodeOfflineDeal(offlineAddr *nodeStore.AddressNet)
* NodeOfflineDeal 存储节点下线处理 * * @param offlineAddr AddressNet 下线节点地址
func (*ProxyDetailInfo) NodeOnlineDeal ¶
func (pd *ProxyDetailInfo) NodeOnlineDeal(node *nodeStore.Node)
* NodeOnlineDeal 超级节点上线处理 * * @param node AddressNet 超级节点信息
func (*ProxyDetailInfo) RemoveProxyDetail ¶
func (pd *ProxyDetailInfo) RemoveProxyDetail(addr *nodeStore.AddressNet, machineId string, version int64) bool
* RemoveProxyDetail 删除代理详情 * * @param addr AddressNet 被代理的节点地址 * @param machineId string 被代理的节点机器id * @param version int64 设置代理的版本号 * @return exist bool 之前是否存在代理信息
func (*ProxyDetailInfo) RemoveWhiteNode ¶
func (pd *ProxyDetailInfo) RemoveWhiteNode(nodeId *nodeStore.AddressNet)
* 移除保存节点白名单列表 * * @param nodeId *AddressNet 删除的白名单节点地址
type ProxyInfo ¶
type ProxyInfo struct { NodeId *nodeStore.AddressNet `json:"Id"` // 客户端地址 ProxyId *nodeStore.AddressNet `json:"-"` // 代理地址 MachineId string `json:"machineid"` // 机器id Version int64 `json:"version"` // 版本号 // contains filtered or unexported fields }
* 代理信息
type ProxyNodeRecInfo ¶
type ProxyNodeRecInfo struct { NodeId *nodeStore.AddressNet // 客户端地址 ProxyId *nodeStore.AddressNet // 代理地址 SaveNodes map[string]interface{} // 保存数据的节点地址 key:string=节点地址;value:nil=nil; MachineInfoes map[string]int64 // 机器id信息map key:string=机器ID;value:int64=版本号; }
* 代理节点记录信息