utils.go 421 B

123456789101112131415161718192021222324
  1. package main
  2. import (
  3. "log"
  4. "net"
  5. "time"
  6. )
  7. type ID uint64
  8. func Drain(conn net.Conn, drain int) {
  9. conn.SetReadDeadline(time.Now().Add(time.Second * time.Duration(drain)))
  10. var buff []byte = make([]byte, 32)
  11. var n int
  12. var err error
  13. n, err = conn.Read(buff)
  14. if n > 0 {
  15. log.Printf("Drained %d bytes [%#v].\n", n, buff[:n])
  16. }
  17. if err != nil {
  18. log.Println("Drain:", err)
  19. }
  20. conn.SetReadDeadline(time.Time{})
  21. }