diff options
Diffstat (limited to 'src/pkg/net/tcpsock.go')
-rw-r--r-- | src/pkg/net/tcpsock.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pkg/net/tcpsock.go b/src/pkg/net/tcpsock.go index 8aeed4895..9ee6c14f7 100644 --- a/src/pkg/net/tcpsock.go +++ b/src/pkg/net/tcpsock.go @@ -7,6 +7,7 @@ package net import ( + "io" "os" "syscall" ) @@ -95,6 +96,14 @@ func (c *TCPConn) Read(b []byte) (n int, err os.Error) { return c.fd.Read(b) } +// ReadFrom implements the io.ReaderFrom ReadFrom method. +func (c *TCPConn) ReadFrom(r io.Reader) (int64, os.Error) { + if n, err, handled := sendFile(c.fd, r); handled { + return n, err + } + return genericReadFrom(c, r) +} + // Write implements the net.Conn Write method. func (c *TCPConn) Write(b []byte) (n int, err os.Error) { if !c.ok() { |