tcpassembly questions
- Dominant language
- Go
- Stars
- 6.8k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Have several questions related to tcpassembly, could you please help out here ?
1. What is the difference between `assembly/tcpassembly.go` and `tcpassembly/assembly.go` ? It appears they are doing the same thing ?
2. May i ask what is the benefit to make `StreamPool` multiple threads safe as the `Assembler` itself is not ? It appears to me if we make `StreamPool` NOT multiple threads safe, and allocate one `StreamPool` for each `Assembler`, we can save quite a few lock/unlock cpu cycles ? i don't see the benefits of sharing a `StreamPool` with multiple `Assembler` in different go routines as it has lock/unlock etc contention ? Same questions for the lock in `IPv4Defragmenter`
Thanks so much !
Contributor guide
Assessment
This issue has not been assessed yet.