From b41f4cc768021d68b98fed6ca76e7d20fcc38120 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 3 Jun 2021 14:50:28 +0200 Subject: device: remove recursion from insertion and connect parent pointers This makes the insertion algorithm a bit more efficient, while also now taking on the additional task of connecting up parent pointers. This will be handy in the following commit. Signed-off-by: Jason A. Donenfeld --- device/allowedips_rand_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'device/allowedips_rand_test.go') diff --git a/device/allowedips_rand_test.go b/device/allowedips_rand_test.go index 2da8795..48a5bcd 100644 --- a/device/allowedips_rand_test.go +++ b/device/allowedips_rand_test.go @@ -65,9 +65,9 @@ func (r SlowRouter) Lookup(addr []byte) *Peer { } func TestTrieRandomIPv4(t *testing.T) { - var trie *trieEntry var slow SlowRouter var peers []*Peer + var allowedIPs AllowedIPs rand.Seed(1) @@ -82,7 +82,7 @@ func TestTrieRandomIPv4(t *testing.T) { rand.Read(addr[:]) cidr := uint8(rand.Uint32() % (AddressLength * 8)) index := rand.Int() % NumberOfPeers - trie = trie.insert(addr[:], cidr, peers[index]) + allowedIPs.Insert(addr[:], cidr, peers[index]) slow = slow.Insert(addr[:], cidr, peers[index]) } @@ -90,7 +90,7 @@ func TestTrieRandomIPv4(t *testing.T) { var addr [AddressLength]byte rand.Read(addr[:]) peer1 := slow.Lookup(addr[:]) - peer2 := trie.lookup(addr[:]) + peer2 := allowedIPs.LookupIPv4(addr[:]) if peer1 != peer2 { t.Error("Trie did not match naive implementation, for:", addr) } @@ -98,9 +98,9 @@ func TestTrieRandomIPv4(t *testing.T) { } func TestTrieRandomIPv6(t *testing.T) { - var trie *trieEntry var slow SlowRouter var peers []*Peer + var allowedIPs AllowedIPs rand.Seed(1) @@ -115,7 +115,7 @@ func TestTrieRandomIPv6(t *testing.T) { rand.Read(addr[:]) cidr := uint8(rand.Uint32() % (AddressLength * 8)) index := rand.Int() % NumberOfPeers - trie = trie.insert(addr[:], cidr, peers[index]) + allowedIPs.Insert(addr[:], cidr, peers[index]) slow = slow.Insert(addr[:], cidr, peers[index]) } @@ -123,7 +123,7 @@ func TestTrieRandomIPv6(t *testing.T) { var addr [AddressLength]byte rand.Read(addr[:]) peer1 := slow.Lookup(addr[:]) - peer2 := trie.lookup(addr[:]) + peer2 := allowedIPs.LookupIPv6(addr[:]) if peer1 != peer2 { t.Error("Trie did not match naive implementation, for:", addr) } -- cgit v1.2.3-59-g8ed1b