io_highend.go 407 B

1234567891011121314151617181920212223
  1. // +build 386 amd64 s390 s390x
  2. package buf
  3. import (
  4. "io"
  5. "syscall"
  6. )
  7. func newReaderPlatform(reader io.Reader) Reader {
  8. if useReadv {
  9. if sc, ok := reader.(syscall.Conn); ok {
  10. rawConn, err := sc.SyscallConn()
  11. if err != nil {
  12. newError("failed to get sysconn").Base(err).WriteToLog()
  13. } else {
  14. return NewReadVReader(reader, rawConn)
  15. }
  16. }
  17. }
  18. return NewBytesToBufferReader(reader)
  19. }