google / google/gopacket

tcpassembly questions

Open
#636 1 comment 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.