发布

  • Stop the hanging Goroutines by dropping the old, unidentified TCP streams (#260)

    frostbyte_neo 发布于 2021-09-12 05:26:48 +00:00

    • Close the hanging TCP message channels after a dynamically aligned timeout (base 10000 milliseconds)

    • Bring back source.Lazy

    • Add a one more sync.Map.Delete call

    • Improve the formula by taking base Goroutine count into account

    • Reduce duplication

    • Include the dropped TCP streams count into the stats tracker and print a debug log whenever it happens

    • Add superIdentifier field to tcpStream to check if it has identified

    Also stop the other protocol dissectors if a TCP stream identified by a protocol.

    • Take one step forward in fixing the channel closing issue (WIP)

    Add sync.Mutex to tcpReader and make the loops reference based.

    • Fix the channel closing issue

    • Improve the accuracy of the formula, log better and multiply baseStreamChannelTimeoutMs by 100

    • Remove fmt.Printf

    • Replace runtime.Gosched() with time.Sleep(1 * time.Millisecond)

    • Close the channels of other protocols in case of an identification

    • Simplify the logic

    • Replace the formula with hard timeout 5000 milliseconds and 4000 maximum number of Goroutines

    下载附件