From 2e07cdb38d8858f0aaab93ea34f9202a5af6f4d9 Mon Sep 17 00:00:00 2001
From: capossele <angelocapossele@gmail.com>
Date: Fri, 17 Jul 2020 15:55:06 +0100
Subject: [PATCH] =?UTF-8?q?=E2=9E=96=20Remove=20filter=20shutdown?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../packages/tangle/signature_filter.go           |  3 ---
 .../builtinfilters/message_signature_filter.go    |  6 ++++--
 .../messageparser/builtinfilters/pow_filter.go    |  3 ---
 .../builtinfilters/pow_filter_test.go             | 10 ++++------
 .../builtinfilters/recently_seen_bytes_filter.go  |  6 ++++--
 .../messagelayer/messageparser/bytes_filter.go    |  2 --
 .../messagelayer/messageparser/message_filter.go  |  2 --
 .../messagelayer/messageparser/message_parser.go  | 15 ---------------
 .../messageparser/message_parser_test.go          |  6 ------
 plugins/messagelayer/plugin.go                    |  1 -
 10 files changed, 12 insertions(+), 42 deletions(-)

diff --git a/dapps/valuetransfers/packages/tangle/signature_filter.go b/dapps/valuetransfers/packages/tangle/signature_filter.go
index de79193a..a7e7e2cc 100644
--- a/dapps/valuetransfers/packages/tangle/signature_filter.go
+++ b/dapps/valuetransfers/packages/tangle/signature_filter.go
@@ -69,9 +69,6 @@ func (filter *SignatureFilter) OnReject(callback func(message *message.Message,
 	filter.onRejectCallback = callback
 }
 
-// Shutdown shuts down the filter.
-func (filter *SignatureFilter) Shutdown() {}
-
 // getAcceptCallback returns the callback that is executed when a message passes the filter.
 func (filter *SignatureFilter) getAcceptCallback() func(message *message.Message, peer *peer.Peer) {
 	filter.onAcceptCallbackMutex.RLock()
diff --git a/packages/binary/messagelayer/messageparser/builtinfilters/message_signature_filter.go b/packages/binary/messagelayer/messageparser/builtinfilters/message_signature_filter.go
index 554cc4cc..02ba960c 100644
--- a/packages/binary/messagelayer/messageparser/builtinfilters/message_signature_filter.go
+++ b/packages/binary/messagelayer/messageparser/builtinfilters/message_signature_filter.go
@@ -25,6 +25,8 @@ func NewMessageSignatureFilter() *MessageSignatureFilter {
 	return &MessageSignatureFilter{}
 }
 
+// Filter filters up on the given bytes and peer and calls the acceptance callback
+// if the input passes or the rejection callback if the input is rejected.
 func (filter *MessageSignatureFilter) Filter(msg *message.Message, peer *peer.Peer) {
 	if msg.VerifySignature() {
 		filter.getAcceptCallback()(msg, peer)
@@ -33,20 +35,20 @@ func (filter *MessageSignatureFilter) Filter(msg *message.Message, peer *peer.Pe
 	filter.getRejectCallback()(msg, ErrInvalidSignature, peer)
 }
 
+// OnAccept registers the given callback as the acceptance function of the filter.
 func (filter *MessageSignatureFilter) OnAccept(callback func(msg *message.Message, peer *peer.Peer)) {
 	filter.onAcceptCallbackMutex.Lock()
 	filter.onAcceptCallback = callback
 	filter.onAcceptCallbackMutex.Unlock()
 }
 
+// OnReject registers the given callback as the rejection function of the filter.
 func (filter *MessageSignatureFilter) OnReject(callback func(msg *message.Message, err error, peer *peer.Peer)) {
 	filter.onRejectCallbackMutex.Lock()
 	filter.onRejectCallback = callback
 	filter.onRejectCallbackMutex.Unlock()
 }
 
-func (filter *MessageSignatureFilter) Shutdown() {}
-
 func (filter *MessageSignatureFilter) getAcceptCallback() (result func(msg *message.Message, peer *peer.Peer)) {
 	filter.onAcceptCallbackMutex.RLock()
 	result = filter.onAcceptCallback
diff --git a/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter.go b/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter.go
index 5de27b28..0147ec37 100644
--- a/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter.go
+++ b/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter.go
@@ -58,9 +58,6 @@ func (f *PowFilter) OnReject(callback func([]byte, error, *peer.Peer)) {
 	f.rejectCallback = callback
 }
 
-// Shutdown shuts down the filter.
-func (f *PowFilter) Shutdown() {}
-
 func (f *PowFilter) accept(msgBytes []byte, p *peer.Peer) {
 	f.mu.Lock()
 	defer f.mu.Unlock()
diff --git a/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter_test.go b/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter_test.go
index fe53a9d7..b348247b 100644
--- a/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter_test.go
+++ b/packages/binary/messagelayer/messageparser/builtinfilters/pow_filter_test.go
@@ -18,15 +18,14 @@ import (
 )
 
 var (
-	testPayload               = payload.NewData([]byte("test"))
-	testPeer       *peer.Peer = nil
-	testWorker                = pow.New(crypto.BLAKE2b_512, 1)
-	testDifficulty            = 10
+	testPayload    = payload.NewData([]byte("test"))
+	testPeer       *peer.Peer
+	testWorker     = pow.New(crypto.BLAKE2b_512, 1)
+	testDifficulty = 10
 )
 
 func TestPowFilter_Filter(t *testing.T) {
 	filter := NewPowFilter(testWorker, testDifficulty)
-	defer filter.Shutdown()
 
 	// set callbacks
 	m := &callbackMock{}
@@ -61,7 +60,6 @@ func TestPowFilter_Filter(t *testing.T) {
 		filter.Filter(msgPOWBytes, testPeer)
 	})
 
-	filter.Shutdown()
 	m.AssertExpectations(t)
 }
 
diff --git a/packages/binary/messagelayer/messageparser/builtinfilters/recently_seen_bytes_filter.go b/packages/binary/messagelayer/messageparser/builtinfilters/recently_seen_bytes_filter.go
index 6cbeec50..855d7942 100644
--- a/packages/binary/messagelayer/messageparser/builtinfilters/recently_seen_bytes_filter.go
+++ b/packages/binary/messagelayer/messageparser/builtinfilters/recently_seen_bytes_filter.go
@@ -28,6 +28,8 @@ func NewRecentlySeenBytesFilter() *RecentlySeenBytesFilter {
 	}
 }
 
+// Filter filters up on the given bytes and peer and calls the acceptance callback
+// if the input passes or the rejection callback if the input is rejected.
 func (filter *RecentlySeenBytesFilter) Filter(bytes []byte, peer *peer.Peer) {
 	if filter.bytesFilter.Add(bytes) {
 		filter.getAcceptCallback()(bytes, peer)
@@ -36,12 +38,14 @@ func (filter *RecentlySeenBytesFilter) Filter(bytes []byte, peer *peer.Peer) {
 	filter.getRejectCallback()(bytes, ErrReceivedDuplicateBytes, peer)
 }
 
+// OnAccept registers the given callback as the acceptance function of the filter.
 func (filter *RecentlySeenBytesFilter) OnAccept(callback func(bytes []byte, peer *peer.Peer)) {
 	filter.onAcceptCallbackMutex.Lock()
 	filter.onAcceptCallback = callback
 	filter.onAcceptCallbackMutex.Unlock()
 }
 
+// OnReject registers the given callback as the rejection function of the filter.
 func (filter *RecentlySeenBytesFilter) OnReject(callback func(bytes []byte, err error, peer *peer.Peer)) {
 	filter.onRejectCallbackMutex.Lock()
 	filter.onRejectCallback = callback
@@ -61,5 +65,3 @@ func (filter *RecentlySeenBytesFilter) getRejectCallback() (result func(bytes []
 	filter.onRejectCallbackMutex.Unlock()
 	return
 }
-
-func (filter *RecentlySeenBytesFilter) Shutdown() {}
diff --git a/packages/binary/messagelayer/messageparser/bytes_filter.go b/packages/binary/messagelayer/messageparser/bytes_filter.go
index 96d928e5..7c62a459 100644
--- a/packages/binary/messagelayer/messageparser/bytes_filter.go
+++ b/packages/binary/messagelayer/messageparser/bytes_filter.go
@@ -13,6 +13,4 @@ type BytesFilter interface {
 	OnAccept(callback func(bytes []byte, peer *peer.Peer))
 	// OnReject registers the given callback as the rejection function of the filter.
 	OnReject(callback func(bytes []byte, err error, peer *peer.Peer))
-	// Shutdown shuts down the filter.
-	Shutdown()
 }
diff --git a/packages/binary/messagelayer/messageparser/message_filter.go b/packages/binary/messagelayer/messageparser/message_filter.go
index f303a5b6..b883f3d1 100644
--- a/packages/binary/messagelayer/messageparser/message_filter.go
+++ b/packages/binary/messagelayer/messageparser/message_filter.go
@@ -15,6 +15,4 @@ type MessageFilter interface {
 	OnAccept(callback func(msg *message.Message, peer *peer.Peer))
 	// OnAccept registers the given callback as the rejection function of the filter.
 	OnReject(callback func(msg *message.Message, err error, peer *peer.Peer))
-	// Shutdown shuts down the filter.
-	Shutdown()
 }
diff --git a/packages/binary/messagelayer/messageparser/message_parser.go b/packages/binary/messagelayer/messageparser/message_parser.go
index 8e491be4..9c590e63 100644
--- a/packages/binary/messagelayer/messageparser/message_parser.go
+++ b/packages/binary/messagelayer/messageparser/message_parser.go
@@ -70,21 +70,6 @@ func (messageParser *MessageParser) AddMessageFilter(filter MessageFilter) {
 	messageParser.messageFiltersModified.Set()
 }
 
-// Shutdown shut downs the message parser and its corresponding registered filters.
-func (messageParser *MessageParser) Shutdown() {
-	messageParser.bytesFiltersMutex.Lock()
-	for _, bytesFilter := range messageParser.bytesFilters {
-		bytesFilter.Shutdown()
-	}
-	messageParser.bytesFiltersMutex.Unlock()
-
-	messageParser.messageFiltersMutex.Lock()
-	for _, messageFilter := range messageParser.messageFilters {
-		messageFilter.Shutdown()
-	}
-	messageParser.messageFiltersMutex.Unlock()
-}
-
 // sets up the byte filter data flow chain.
 func (messageParser *MessageParser) setupBytesFilterDataFlow() {
 	if !messageParser.byteFiltersModified.IsSet() {
diff --git a/packages/binary/messagelayer/messageparser/message_parser_test.go b/packages/binary/messagelayer/messageparser/message_parser_test.go
index 2e33aad3..e85cf4ce 100644
--- a/packages/binary/messagelayer/messageparser/message_parser_test.go
+++ b/packages/binary/messagelayer/messageparser/message_parser_test.go
@@ -22,8 +22,6 @@ func BenchmarkMessageParser_ParseBytesSame(b *testing.B) {
 	for i := 0; i < b.N; i++ {
 		msgParser.Parse(msgBytes, nil)
 	}
-
-	msgParser.Shutdown()
 }
 
 func BenchmarkMessageParser_ParseBytesDifferent(b *testing.B) {
@@ -39,8 +37,6 @@ func BenchmarkMessageParser_ParseBytesDifferent(b *testing.B) {
 	for i := 0; i < b.N; i++ {
 		msgParser.Parse(messageBytes[i], nil)
 	}
-
-	msgParser.Shutdown()
 }
 
 func TestMessageParser_ParseMessage(t *testing.T) {
@@ -52,8 +48,6 @@ func TestMessageParser_ParseMessage(t *testing.T) {
 	msgParser.Events.MessageParsed.Attach(events.NewClosure(func(msg *message.Message) {
 		log.Infof("parsed message")
 	}))
-
-	msgParser.Shutdown()
 }
 
 func newTestMessage(payloadString string) *message.Message {
diff --git a/plugins/messagelayer/plugin.go b/plugins/messagelayer/plugin.go
index 084df96c..23967033 100644
--- a/plugins/messagelayer/plugin.go
+++ b/plugins/messagelayer/plugin.go
@@ -132,7 +132,6 @@ func run(*node.Plugin) {
 	if err := daemon.BackgroundWorker("Tangle", func(shutdownSignal <-chan struct{}) {
 		<-shutdownSignal
 		messageFactory.Shutdown()
-		messageParser.Shutdown()
 		_tangle.Shutdown()
 	}, shutdown.PriorityTangle); err != nil {
 		log.Panicf("Failed to start as daemon: %s", err)
-- 
GitLab