Inital implementation of trie
This commit is contained in:
parent
8ce921987f
commit
ec3d656beb
8 changed files with 325 additions and 239 deletions
|
|
@ -5,10 +5,39 @@ import (
|
|||
)
|
||||
|
||||
type Device struct {
|
||||
mutex sync.RWMutex
|
||||
peers map[NoisePublicKey]*Peer
|
||||
privateKey NoisePrivateKey
|
||||
publicKey NoisePublicKey
|
||||
fwMark uint32
|
||||
listenPort uint16
|
||||
mutex sync.RWMutex
|
||||
peers map[NoisePublicKey]*Peer
|
||||
privateKey NoisePrivateKey
|
||||
publicKey NoisePublicKey
|
||||
fwMark uint32
|
||||
listenPort uint16
|
||||
routingTable RoutingTable
|
||||
}
|
||||
|
||||
func (dev *Device) RemovePeer(key NoisePublicKey) {
|
||||
dev.mutex.Lock()
|
||||
defer dev.mutex.Unlock()
|
||||
peer, ok := dev.peers[key]
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
peer.mutex.Lock()
|
||||
dev.routingTable.RemovePeer(peer)
|
||||
delete(dev.peers, key)
|
||||
}
|
||||
|
||||
func (dev *Device) RemoveAllAllowedIps(peer *Peer) {
|
||||
|
||||
}
|
||||
|
||||
func (dev *Device) RemoveAllPeers() {
|
||||
dev.mutex.Lock()
|
||||
defer dev.mutex.Unlock()
|
||||
|
||||
for key, peer := range dev.peers {
|
||||
peer.mutex.Lock()
|
||||
dev.routingTable.RemovePeer(peer)
|
||||
delete(dev.peers, key)
|
||||
peer.mutex.Unlock()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue