-
Stop the hanging Goroutines by dropping the old, unidentified TCP streams (#260)
发布于
2021-09-12 05:26:48 +00:00 -
Close the hanging TCP message channels after a dynamically aligned timeout (base
10000milliseconds) -
Bring back
source.Lazy -
Add a one more
sync.Map.Deletecall -
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
superIdentifierfield totcpStreamto 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.MutextotcpReaderand make the loops reference based.-
Fix the channel closing issue
-
Improve the accuracy of the formula, log better and multiply
baseStreamChannelTimeoutMsby 100 -
Remove
fmt.Printf -
Replace
runtime.Gosched()withtime.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
下载附件
-