/*
GoVPN -- simple secure free software virtual private network daemon
-Copyright (C) 2014-2016 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2017 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"fmt"
"net"
"os"
+ "sync"
"time"
"github.com/agl/ed25519"
type Client struct {
idsCache *govpn.MACCache
tap *govpn.TAP
- knownPeers govpn.KnownPeers
+ knownPeers sync.Map
statsPort net.Listener
timeouted chan struct{}
rehandshaking chan struct{}
c.Error <- fmt.Errorf("Can't listen on stats port: %s", err.Error())
return
}
- c.knownPeers = govpn.KnownPeers(make(map[string]**govpn.Peer))
go govpn.StatsProcessor(c.statsPort, &c.knownPeers)
}
termSignal: termSignal,
Error: make(chan error, 1),
}
- confs := map[govpn.PeerId]*govpn.PeerConf{*verifier.Id: conf.Peer}
+ confs := map[govpn.PeerID]*govpn.PeerConf{*verifier.ID: conf.Peer}
client.idsCache.Update(&confs)
return &client
}