Skip to content

Commit c0619e3

Browse files
committed
Add quick logic for scheduler to send fake packet when no buffer is pending
1 parent 71973da commit c0619e3

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

proxy/scheduler.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,13 @@ func(s *Scheduler) mainLoop() {
5757
var sending = len(s.Buffer)
5858
if sending > 0 {
5959
errors.LogDebug(s.ctx, "Scheduler Trigger for ", sending, " buffer(s) with ", d, " ", trigger)
60-
}
61-
for i := 0; i<sending; i++ {
62-
s.Error <- s.writer.WriteMultiBuffer(<-s.Buffer)
60+
for i := 0; i<sending; i++ {
61+
s.Error <- s.writer.WriteMultiBuffer(<-s.Buffer)
62+
}
63+
} else if trigger > 0 {
64+
errors.LogDebug(s.ctx, "Scheduler Trigger for fake buffer with ", d, " ", trigger)
65+
mb := make(buf.MultiBuffer, 1)
66+
s.Error <- s.writer.WriteMultiBuffer(mb)
6367
}
6468
s.bufferReadLock.Unlock()
6569
}()
@@ -69,6 +73,6 @@ func(s *Scheduler) mainLoop() {
6973
func(s *Scheduler) exampleIndependentScheduler() {
7074
for {
7175
time.Sleep(500 * time.Millisecond)
72-
s.Trigger <- -1 // send all buffers
76+
s.Trigger <- 1 // send fake buffer if no pending
7377
}
7478
}

0 commit comments

Comments
 (0)