@@ -30,7 +30,7 @@ type httpRequestAndResponseStreamer struct {
3030}
3131
3232func (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 )
3434 if err != nil {
3535 log .Fatal (err )
3636 }
@@ -53,9 +53,18 @@ func (s *httpRequestAndResponseStreamer) start() {
5353 ),
5454 )
5555
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+ }()
5766
58- ticker := time . Tick ( time . Minute )
67+ handler , packetsChannel := s . getHandleAndPacketsChannel ( )
5968 for {
6069 select {
6170 case packet , ok := <- packetsChannel :
@@ -95,9 +104,6 @@ func (s *httpRequestAndResponseStreamer) start() {
95104 "DstPort" , tcp .DstPort .String (),
96105 )
97106 assembler .AssembleWithTimestamp (packet .NetworkLayer ().NetworkFlow (), tcp , packet .Metadata ().Timestamp )
98- case <- ticker :
99- assembler .FlushOlderThan (time .Now ().Add (- 2 * time .Minute ))
100- default :
101107 }
102108 }
103109}
0 commit comments