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