Skip to content

Commit 08958da

Browse files
committed
Close Scheduler in the delay example
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
1 parent b3d36e3 commit 08958da

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

go/delay.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"fmt"
54
"strconv"
65
"time"
76

@@ -35,20 +34,20 @@ func (p *delayFilter) RequestHeaders(e gosdk.EnvoyHttpFilter, endOfStream bool)
3534
// Check if the headers contain the "do-delay" header to trigger the delay.
3635
if _, ok := e.GetRequestHeader("do-delay"); !ok {
3736
// If the header is not present, continue the request processing.
38-
fmt.Println("gosdk: RequestHeaders, do-delay header not found, continuing request processing")
3937
return gosdk.RequestHeadersStatusContinue
4038
}
4139

4240
schduler := e.NewScheduler()
4341
now := time.Now()
4442
p.onRequestHeaders = now
4543
go func() {
44+
// Scheduler must be closed to avoid memory leaks.
45+
defer schduler.Close()
4646
// Simulate some delay.
4747
time.Sleep(2 * time.Second)
4848
// Commit the event to continue the request processing.
4949
schduler.Commit(0)
5050
}()
51-
fmt.Printf("gosdk: RequestHeaders, delaying request processing for 2 seconds at %s\n", now)
5251
return gosdk.RequestHeadersStatusStopIteration
5352
}
5453

@@ -57,7 +56,6 @@ func (p *delayFilter) Sheduled(e gosdk.EnvoyHttpFilter, eventID uint64) {
5756
if eventID != 0 {
5857
panic("unexpected eventID in Sheduled: " + strconv.Itoa(int(eventID)))
5958
}
60-
fmt.Println("gosdk: Sheduled, continuing request processing after delay")
6159
p.delayLapsed = time.Since(p.onRequestHeaders)
6260
// We can insert some headers at this phase.
6361
e.SetRequestHeader("delay-filter-on-scheduled", []byte("yes"))

0 commit comments

Comments
 (0)