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

6 years ago
  1. package p2plib
  2. import (
  3. "fmt"
  4. "math/rand"
  5. "time"
  6. )
  7. func InitializePeer(role, ip, port, restport, serverip, serverport string) ThisPeer {
  8. //initialize some vars
  9. rand.Seed(time.Now().Unix())
  10. var tp ThisPeer
  11. tp.Running = true
  12. tp.RunningPeer.Role = role
  13. tp.RunningPeer.Port = port
  14. tp.RunningPeer.RESTPort = restport
  15. tp.RunningPeer.ID = HashPeer(tp.RunningPeer)
  16. tp.ID = tp.RunningPeer.ID
  17. globalTP.PeersConnections.Outcoming.PeerID = tp.RunningPeer.ID
  18. fmt.Println(tp.RunningPeer)
  19. //outcomingPeersList.Peers = append(outcomingPeersList.Peers, peer.RunningPeer)
  20. globalTP.PeersConnections.Outcoming = AppendPeerIfNoExist(globalTP.PeersConnections.Outcoming, tp.RunningPeer)
  21. fmt.Println(globalTP.PeersConnections.Outcoming)
  22. if tp.RunningPeer.Role == "server" {
  23. go tp.AcceptPeers(tp.RunningPeer)
  24. }
  25. if tp.RunningPeer.Role == "client" {
  26. var serverPeer Peer
  27. serverPeer.IP = serverip
  28. serverPeer.Port = serverport
  29. serverPeer.Role = "server"
  30. serverPeer.ID = HashPeer(serverPeer)
  31. go tp.AcceptPeers(tp.RunningPeer)
  32. ConnectToPeer(serverPeer)
  33. }
  34. globalTP = tp
  35. return tp
  36. }