Have a single counter pair and request response matcher per Golang connection

This commit is contained in:
M. Mert Yildiran 2022-06-01 17:16:21 +03:00
parent 52c4b18a9d
commit b6b269eb19
No known key found for this signature in database
GPG Key ID: D42ADB236521BF7A
2 changed files with 7 additions and 5 deletions

View File

@ -16,12 +16,14 @@ type golangConnection struct {
func NewGolangConnection(pid uint32, connAddr uint32, extension *api.Extension, emitter api.Emitter) *golangConnection { func NewGolangConnection(pid uint32, connAddr uint32, extension *api.Extension, emitter api.Emitter) *golangConnection {
stream := &tlsStream{} stream := &tlsStream{}
counterPair := &api.CounterPair{}
reqResMatcher := extension.Dissector.NewResponseRequestMatcher()
return &golangConnection{ return &golangConnection{
Pid: pid, Pid: pid,
ConnAddr: connAddr, ConnAddr: connAddr,
Stream: stream, Stream: stream,
ClientReader: NewGolangReader(extension, emitter, stream, true), ClientReader: NewGolangReader(extension, true, emitter, counterPair, stream, reqResMatcher),
ServerReader: NewGolangReader(extension, emitter, stream, false), ServerReader: NewGolangReader(extension, false, emitter, counterPair, stream, reqResMatcher),
} }
} }

View File

@ -22,7 +22,7 @@ type golangReader struct {
reqResMatcher api.RequestResponseMatcher reqResMatcher api.RequestResponseMatcher
} }
func NewGolangReader(extension *api.Extension, emitter api.Emitter, stream *tlsStream, isClient bool) *golangReader { func NewGolangReader(extension *api.Extension, isClient bool, emitter api.Emitter, counterPair *api.CounterPair, stream *tlsStream, reqResMatcher api.RequestResponseMatcher) *golangReader {
return &golangReader{ return &golangReader{
msgQueue: make(chan []byte, 1), msgQueue: make(chan []byte, 1),
progress: &api.ReadProgress{}, progress: &api.ReadProgress{},
@ -31,9 +31,9 @@ func NewGolangReader(extension *api.Extension, emitter api.Emitter, stream *tlsS
captureTime: time.Now(), captureTime: time.Now(),
extension: extension, extension: extension,
emitter: emitter, emitter: emitter,
counterPair: &api.CounterPair{}, counterPair: counterPair,
parent: stream, parent: stream,
reqResMatcher: extension.Dissector.NewResponseRequestMatcher(), reqResMatcher: reqResMatcher,
} }
} }