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 }