diff options
author | Russ Cox <rsc@golang.org> | 2008-10-20 12:37:07 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2008-10-20 12:37:07 -0700 |
commit | ab3a3f2e834b5b3a54246a032b6b25cc3d903fb4 (patch) | |
tree | f3a86526166a4e7adbee1efdd9b7d435f88263f5 | |
parent | 0f3d573d0d6eca115d94d9768d608017b070d3fe (diff) | |
download | golang-ab3a3f2e834b5b3a54246a032b6b25cc3d903fb4.tar.gz |
add io.ReadWriteClose and use it in http
R=r
DELTA=15 (6 added, 7 deleted, 2 changed)
OCL=17447
CL=17461
-rw-r--r-- | src/lib/http/conn.go | 11 | ||||
-rw-r--r-- | src/lib/io.go | 6 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/lib/http/conn.go b/src/lib/http/conn.go index e7024ed60..15c0707f3 100644 --- a/src/lib/http/conn.go +++ b/src/lib/http/conn.go @@ -11,16 +11,9 @@ import ( "os" ) -// Read/write/close interface. -type RWC interface { - Read(p *[]byte) (n int, err *os.Error); - Write(p *[]byte) (n int, err *os.Error); - Close() *os.Error; -} - // Active HTTP connection (server side). export type Conn struct { - rwc RWC; + rwc io.ReadWriteClose; br *bufio.BufRead; bw *bufio.BufWrite; close bool; @@ -28,7 +21,7 @@ export type Conn struct { } // Create new connection from rwc. -export func NewConn(rwc RWC) (c *Conn, err *os.Error) { +export func NewConn(rwc io.ReadWriteClose) (c *Conn, err *os.Error) { c = new(Conn); c.rwc = rwc; if c.br, err = bufio.NewBufRead(rwc); err != nil { diff --git a/src/lib/io.go b/src/lib/io.go index 8ab751a02..20b7b9029 100644 --- a/src/lib/io.go +++ b/src/lib/io.go @@ -19,6 +19,12 @@ export type ReadWrite interface { Write(p *[]byte) (n int, err *os.Error); } +export type ReadWriteClose interface { + Read(p *[]byte) (n int, err *os.Error); + Write(p *[]byte) (n int, err *os.Error); + Close() *os.Error; +} + export func WriteString(w Write, s string) (n int, err *os.Error) { b := new([]byte, len(s)+1); if !syscall.StringToBytes(b, s) { |