From 9ab06cd592e090401c91543a8fdecc1029f0dad6 Mon Sep 17 00:00:00 2001
From: Hans Moog <hm@mkjc.net>
Date: Tue, 4 Feb 2020 01:26:43 +0100
Subject: [PATCH] Refactor: refactored some code

---
 go.mod                                        |  2 +-
 go.sum                                        |  2 +
 packages/binary/bytesfilter/bytes_filter.go   | 58 -------------------
 .../binary/bytesfilter/bytes_filter_test.go   | 47 ---------------
 .../recently_seen_bytes_filter.go             |  3 +-
 .../transaction_signature_filter.go           |  3 +-
 6 files changed, 6 insertions(+), 109 deletions(-)
 delete mode 100644 packages/binary/bytesfilter/bytes_filter.go
 delete mode 100644 packages/binary/bytesfilter/bytes_filter_test.go

diff --git a/go.mod b/go.mod
index afa2906d..a2e098d1 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
 	github.com/golang/protobuf v1.3.2 // indirect
 	github.com/google/open-location-code/go v0.0.0-20190903173953-119bc96a3a51
 	github.com/gorilla/websocket v1.4.1
-	github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172
+	github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885
 	github.com/iotaledger/iota.go v1.0.0-beta.9
 	github.com/kr/text v0.1.0
 	github.com/labstack/echo v3.3.10+incompatible
diff --git a/go.sum b/go.sum
index ab78d117..ff2be201 100644
--- a/go.sum
+++ b/go.sum
@@ -114,6 +114,8 @@ github.com/iotaledger/hive.go v0.0.0-20200131142821-bdca7883742d h1:3uYitVVvpt/v
 github.com/iotaledger/hive.go v0.0.0-20200131142821-bdca7883742d/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
 github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172 h1:QuckesiAtCzfxkxndNaerpeW0AKmxciZtApyjNwe7s4=
 github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
+github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885 h1:MAD62T49q1AnoybapTCnlqIFfFv2fs0GmKgn7IcR+oA=
+github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
 github.com/iotaledger/iota.go v1.0.0-beta.9 h1:c654s9pkdhMBkABUvWg+6k91MEBbdtmZXP1xDfQpajg=
 github.com/iotaledger/iota.go v1.0.0-beta.9/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
diff --git a/packages/binary/bytesfilter/bytes_filter.go b/packages/binary/bytesfilter/bytes_filter.go
deleted file mode 100644
index e434eef8..00000000
--- a/packages/binary/bytesfilter/bytes_filter.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package bytesfilter
-
-import (
-	"sync"
-
-	"github.com/iotaledger/hive.go/typeutils"
-
-	"github.com/iotaledger/goshimmer/packages/binary/types"
-)
-
-type BytesFilter struct {
-	byteArrays [][]byte
-	bytesByKey map[string]types.Empty
-	size       int
-	mutex      sync.RWMutex
-}
-
-func New(size int) *BytesFilter {
-	return &BytesFilter{
-		byteArrays: make([][]byte, 0, size),
-		bytesByKey: make(map[string]types.Empty, size),
-		size:       size,
-	}
-}
-
-func (bytesFilter *BytesFilter) Add(bytes []byte) bool {
-	key := typeutils.BytesToString(bytes)
-
-	bytesFilter.mutex.Lock()
-
-	if _, exists := bytesFilter.bytesByKey[key]; !exists {
-		if len(bytesFilter.byteArrays) == bytesFilter.size {
-			delete(bytesFilter.bytesByKey, typeutils.BytesToString(bytesFilter.byteArrays[0]))
-
-			bytesFilter.byteArrays = append(bytesFilter.byteArrays[1:], bytes)
-		} else {
-			bytesFilter.byteArrays = append(bytesFilter.byteArrays, bytes)
-		}
-
-		bytesFilter.bytesByKey[key] = types.Void
-
-		bytesFilter.mutex.Unlock()
-
-		return true
-	} else {
-		bytesFilter.mutex.Unlock()
-
-		return false
-	}
-}
-
-func (bytesFilter *BytesFilter) Contains(byteArray []byte) (exists bool) {
-	bytesFilter.mutex.RLock()
-	_, exists = bytesFilter.bytesByKey[typeutils.BytesToString(byteArray)]
-	bytesFilter.mutex.RUnlock()
-
-	return
-}
diff --git a/packages/binary/bytesfilter/bytes_filter_test.go b/packages/binary/bytesfilter/bytes_filter_test.go
deleted file mode 100644
index 1b928ffe..00000000
--- a/packages/binary/bytesfilter/bytes_filter_test.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package bytesfilter
-
-import (
-	"testing"
-)
-
-func BenchmarkAdd(b *testing.B) {
-	filter, bytesFilter := setupTest(15000, 1604)
-
-	b.ResetTimer()
-
-	for i := 0; i < b.N; i++ {
-		filter.Add(bytesFilter)
-	}
-}
-
-func BenchmarkContains(b *testing.B) {
-	filter, bytesFilter := setupTest(15000, 1604)
-
-	b.ResetTimer()
-
-	for i := 0; i < b.N; i++ {
-		filter.Contains(bytesFilter)
-	}
-}
-
-func setupTest(filterSize int, byteArraySize int) (*BytesFilter, []byte) {
-	filter := New(filterSize)
-
-	for j := 0; j < filterSize; j++ {
-		byteArray := make([]byte, byteArraySize)
-
-		for i := 0; i < len(byteArray); i++ {
-			byteArray[(i+j)%byteArraySize] = byte((i + j) % 128)
-		}
-
-		filter.Add(byteArray)
-	}
-
-	byteArray := make([]byte, byteArraySize)
-
-	for i := 0; i < len(byteArray); i++ {
-		byteArray[i] = byte(i % 128)
-	}
-
-	return filter, byteArray
-}
diff --git a/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go b/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
index 1e8f93c0..c0a6002f 100644
--- a/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
+++ b/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
@@ -4,8 +4,7 @@ import (
 	"sync"
 
 	"github.com/iotaledger/hive.go/async"
-
-	"github.com/iotaledger/goshimmer/packages/binary/bytesfilter"
+	"github.com/iotaledger/hive.go/bytesfilter"
 )
 
 type RecentlySeenBytesFilter struct {
diff --git a/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go b/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
index b3ae8999..9160d821 100644
--- a/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
+++ b/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
@@ -3,8 +3,9 @@ package builtinfilters
 import (
 	"sync"
 
-	"github.com/iotaledger/goshimmer/packages/binary/tangle/model/transaction"
 	"github.com/iotaledger/hive.go/async"
+
+	"github.com/iotaledger/goshimmer/packages/binary/tangle/model/transaction"
 )
 
 type TransactionSignatureFilter struct {
-- 
GitLab