コード例 #1
0
ファイル: host.go プロジェクト: kelsebo/go-chord
func SetupHttpListener(host *types.Host_t, port *int) *net.TCPListener {
	if types.Port_t(*port) == host.Port {
		host.HttpPort = types.Port_t(*port)
		return nil
	}

	listener := netutils.GetInetTCPListener(false, port)
	if listener == nil {
		return nil
	}
	addr, err := net.ResolveTCPAddr("tcp4", listener.Addr().String())
	if err != nil {
		return nil
	}
	host.HttpPort = types.Port_t(addr.Port)
	return listener
}
コード例 #2
0
ファイル: host.go プロジェクト: kelsebo/go-chord
func New(addr string, port string) (*types.Host_t, error) {
	h := new(types.Host_t)
	tcpaddr, err := net.ResolveTCPAddr("tcp4", addr+":"+port)
	if err != nil {
		return nil, err
	}

	h.IP = types.IP_t(tcpaddr.IP.String())
	h.Port = types.Port_t(tcpaddr.Port)
	h.ID = h.Hash()

	return h, nil
}