Advertisement
Guest User

Untitled

a guest
Oct 5th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. select {
  2. case b := <-i.c:
  3. buf.Write(i.header)
  4. buf.Write(nl)
  5. buf.Write(b)
  6. buf.Write(nl)
  7.  
  8. if buf.Len() > i.Config.FlushThreshold {
  9. flush = true
  10. }
  11. case <-ticker.C:
  12. if buf.Len() > 0 {
  13. flush = true
  14. }
  15. case <-i.flush:
  16. log.InfoK("Manual flush request", "buffer", buf.Len())
  17.  
  18. drain:
  19. for {
  20. select {
  21. case b := <-i.c:
  22. buf.Write(i.header)
  23. buf.Write(nl)
  24. buf.Write(b)
  25. buf.Write(nl)
  26.  
  27. if buf.Len() > i.Config.FlushThreshold {
  28. break drain
  29. }
  30. default:
  31. break drain
  32. }
  33. }
  34.  
  35. if buf.Len() > 0 {
  36. flush = true
  37. }
  38. case <-i.t.Dying():
  39. // Drain a now closed c
  40. for b := range i.c {
  41. buf.Write(i.header)
  42. buf.Write(nl)
  43. buf.Write(b)
  44. buf.Write(nl)
  45. }
  46.  
  47. if buf.Len() > 0 {
  48. flush = true
  49. }
  50.  
  51. exit = true
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement