You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

43 lines
1.1 KiB

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
}