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