mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-11-27 06:40:32 +00:00
98263a7de6
* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
27 lines
647 B
Cheetah
27 lines
647 B
Cheetah
{{.Label}}:
|
|
switch timeout{{.Sfx}} := z.EncBasicHandle().ChanRecvTimeout; {
|
|
case timeout{{.Sfx}} == 0: // only consume available
|
|
for {
|
|
select {
|
|
case b{{.Sfx}} := <-{{.Chan}}:
|
|
{{ .Slice }} = append({{.Slice}}, b{{.Sfx}})
|
|
default:
|
|
break {{.Label}}
|
|
}
|
|
}
|
|
case timeout{{.Sfx}} > 0: // consume until timeout
|
|
tt{{.Sfx}} := time.NewTimer(timeout{{.Sfx}})
|
|
for {
|
|
select {
|
|
case b{{.Sfx}} := <-{{.Chan}}:
|
|
{{.Slice}} = append({{.Slice}}, b{{.Sfx}})
|
|
case <-tt{{.Sfx}}.C:
|
|
// close(tt.C)
|
|
break {{.Label}}
|
|
}
|
|
}
|
|
default: // consume until close
|
|
for b{{.Sfx}} := range {{.Chan}} {
|
|
{{.Slice}} = append({{.Slice}}, b{{.Sfx}})
|
|
}
|
|
}
|