@@ -30,7 +30,7 @@ type httpRequestAndResponseStreamer struct {
30
30
}
31
31
32
32
func (s * httpRequestAndResponseStreamer ) getHandleAndPacketsChannel () (* pcap.Handle , <- chan gopacket.Packet ) {
33
- handle , err := pcap .OpenLive ("any" , 1600 , true , 10 * time . Second )
33
+ handle , err := pcap .OpenLive ("any" , 1600 , true , pcap . BlockForever )
34
34
if err != nil {
35
35
log .Fatal (err )
36
36
}
@@ -53,9 +53,18 @@ func (s *httpRequestAndResponseStreamer) start() {
53
53
),
54
54
)
55
55
56
- handler , packetsChannel := s .getHandleAndPacketsChannel ()
56
+ go func () {
57
+ ticker := time .Tick (time .Minute )
58
+ for {
59
+ select {
60
+ case <- ticker :
61
+ slog .Debug ("Flushing old conns..." )
62
+ assembler .FlushOlderThan (time .Now ().Add (- 2 * time .Minute ))
63
+ }
64
+ }
65
+ }()
57
66
58
- ticker := time . Tick ( time . Minute )
67
+ handler , packetsChannel := s . getHandleAndPacketsChannel ( )
59
68
for {
60
69
select {
61
70
case packet , ok := <- packetsChannel :
@@ -95,9 +104,6 @@ func (s *httpRequestAndResponseStreamer) start() {
95
104
"DstPort" , tcp .DstPort .String (),
96
105
)
97
106
assembler .AssembleWithTimestamp (packet .NetworkLayer ().NetworkFlow (), tcp , packet .Metadata ().Timestamp )
98
- case <- ticker :
99
- assembler .FlushOlderThan (time .Now ().Add (- 2 * time .Minute ))
100
- default :
101
107
}
102
108
}
103
109
}
0 commit comments