|
|
package p2plib
import ( "fmt" "math/rand" "time" )
func InitializePeer(role, ip, port, restport, serverip, serverport string) ThisPeer { //initialize some vars
rand.Seed(time.Now().Unix())
var tp ThisPeer tp.Running = true tp.RunningPeer.Role = role tp.RunningPeer.Port = port tp.RunningPeer.RESTPort = restport tp.RunningPeer.ID = HashPeer(tp.RunningPeer)
tp.ID = tp.RunningPeer.ID globalTP.PeersConnections.Outcoming.PeerID = tp.RunningPeer.ID fmt.Println(tp.RunningPeer) //outcomingPeersList.Peers = append(outcomingPeersList.Peers, peer.RunningPeer)
globalTP.PeersConnections.Outcoming = AppendPeerIfNoExist(globalTP.PeersConnections.Outcoming, tp.RunningPeer) fmt.Println(globalTP.PeersConnections.Outcoming)
if tp.RunningPeer.Role == "server" { go tp.AcceptPeers(tp.RunningPeer) } if tp.RunningPeer.Role == "client" { var serverPeer Peer serverPeer.IP = serverip serverPeer.Port = serverport serverPeer.Role = "server" serverPeer.ID = HashPeer(serverPeer) go tp.AcceptPeers(tp.RunningPeer) ConnectToPeer(serverPeer) } globalTP = tp
return tp
}
|