本文整理汇总了Golang中github.com/shingetsu-gou/shingetsu-gou/node.Node.Join方法的典型用法代码示例。如果您正苦于以下问题:Golang Node.Join方法的具体用法?Golang Node.Join怎么用?Golang Node.Join使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/shingetsu-gou/shingetsu-gou/node.Node
的用法示例。
在下文中一共展示了Node.Join方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Join
//Join tells n to join and adds n to nodelist if welcomed.
//if n returns another nodes, repeats it and return true..
//removes fron nodelist if not welcomed and return false.
func Join(n *node.Node) bool {
const retryJoin = 2 // Times; Join network
if n == nil {
return false
}
if hasNodeInTable(list, n) || node.Me(false).Nodestr == n.Nodestr {
return false
}
flag := false
for count := 0; count < retryJoin && ListLen() < defaultNodes; count++ {
extnode, err := n.Join()
if err != nil {
RemoveFromTable(list, n)
return false
}
AppendToList(n)
flag = true
if extnode == nil {
return true
}
n = extnode
}
return flag
}