From c62c101d48e73b371460cc38176b1ddbb3ceb67e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Thu, 2 Feb 2023 15:20:48 +0100 Subject: [PATCH] fix: get rid of unnecessary allocations inside packet header filter --- .../Models/Filters/PacketHeaderFilter.cs | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/PacketLogger/Models/Filters/PacketHeaderFilter.cs b/src/PacketLogger/Models/Filters/PacketHeaderFilter.cs index 246a990..1d20bd4 100644 --- a/src/PacketLogger/Models/Filters/PacketHeaderFilter.cs +++ b/src/PacketLogger/Models/Filters/PacketHeaderFilter.cs @@ -17,6 +17,8 @@ namespace PacketLogger.Models.Filters; public class PacketHeaderFilter : IFilter { private readonly string _header; + private readonly string _headerFilter; + private readonly string _headerFilterReturn; /// /// Initializes a new instance of the class. @@ -25,6 +27,8 @@ public class PacketHeaderFilter : IFilter public PacketHeaderFilter(string header) { _header = header.Trim(); + _headerFilter = _header; + _headerFilterReturn = "#" + _header; } /// @@ -33,22 +37,8 @@ public class PacketHeaderFilter : IFilter /// public bool Match(PacketInfo packet) { - var packetString = packet.PacketString; - - var split = ' '; - if (packetString.StartsWith('#')) - { - packetString = packetString.Substring(1); - split = '^'; - } - - var splitted = packetString.Split(split, 2); - - if (splitted.Length >= 1) - { - return string.Compare(splitted[0], _header, StringComparison.OrdinalIgnoreCase) == 0; - } - - return false; + return packet.PacketString.StartsWith + (_header, StringComparison.OrdinalIgnoreCase) || packet.PacketString.StartsWith + (_headerFilterReturn, StringComparison.OrdinalIgnoreCase); } } \ No newline at end of file -- 2.49.0