1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuemy-fastdht

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
id.go 711
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
xmy Отправлено 03.03.2015 08:25 1886c04
package fastdht
import (
"crypto/rand"
"encoding/hex"
log "github.com/golang/glog"
)
type Id []byte
func tranId() string {
b := make([]byte, 2)
if _, err := rand.Read(b); err != nil {
log.Fatalln("nodeId rand:", err)
}
return string(b)
}
func randNodeId() Id {
b := make(Id, 20)
if _, err := rand.Read(b); err != nil {
log.Fatalln("nodeId rand:", err)
}
return Id(b)
}
func (i Id) String() string {
return string(i)
}
func (i Id) Hex() string {
return hex.EncodeToString(i)
}
func (i Id) Neighbor(nid string) string {
bnid := []byte(nid)[:10]
bi := []byte(i)[10:10]
return string(bnid) + string(bi)
}
func Neighbor(target string, nid string) string {
return target[:10] + nid[10:20]
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xuemy-fastdht.git
git@api.gitlife.ru:oschina-mirror/xuemy-fastdht.git
oschina-mirror
xuemy-fastdht
xuemy-fastdht
master