addr_manager

package
v0.0.0-...-3aaa451 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

私有节点地址

私有节点地址

获取超级节点地址方式:
	1.本地配置文件方式获取
	2.官方目录服务器获取

工作流程:
	1.判断配置文件夹是否存在,不存在则创建空文件夹。
	2.读取本地超级节点地址文件,添加配置中的地址。
	3.添加官方地址。
	4.启动心跳检查本地地址是否可用。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AnalysisDNS

func AnalysisDNS(dnsName string, timeout time.Duration) (addr string)

解析DNS

func CheckOnline

func CheckOnline(addr string) (isOnline bool)

检查一个地址的计算机是否在线 @return idOnline 是否在线

func CloseBroadcastServer

func CloseBroadcastServer()

关闭广播服务器

func IsDNS

func IsDNS(dnsName string) bool

正则判断地址是否是域名

func LoadByMulticast

func LoadByMulticast()

通过组播方式获取地址列表

Types

type AddrManager

type AddrManager struct {
	Sys_superNodeEntry *sync.Map //本地保存的超级节点地址列表
	// contains filtered or unexported fields
}

地址管理

func NewAddrManager

func NewAddrManager() *AddrManager

func (*AddrManager) AddSuperPeerAddr

func (this *AddrManager) AddSuperPeerAddr(areaName []byte, addr string)

添加一个地址

func (*AddrManager) CheckAddr

func (this *AddrManager) CheckAddr()

检查地址是否可用

func (*AddrManager) LoadAddrForAll

func (this *AddrManager) LoadAddrForAll(areaName []byte) ([]string, []string)

从所有渠道加载超级节点地址列表 @return []string ip地址列表 @return []string 域名列表

func (*AddrManager) LoadSuperPeerEntry

func (this *AddrManager) LoadSuperPeerEntry(areaName []byte) []string

读取并解析本地的超级节点列表文件

func (*AddrManager) RegisterFunc

func (this *AddrManager) RegisterFunc()

注册加载地址方法

func (*AddrManager) RemoveIP

func (this *AddrManager) RemoveIP(ip string, port uint16)

删除一个节点地址

func (*AddrManager) SavePeerEntryToDB

func (this *AddrManager) SavePeerEntryToDB(peers []string, areaName []byte)

节点地址保存到数据库

func (*AddrManager) SetDiscoverEntryPath

func (this *AddrManager) SetDiscoverEntryPath(dePath string)

设置发现节点地址列表文件路径

func (*AddrManager) SetLevelDB

func (this *AddrManager) SetLevelDB(levelDB *utilsleveldb.LevelDB)

设置数据库

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL