summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-05-18 11:47:35 -0700
committerRuss Cox <rsc@golang.org>2009-05-18 11:47:35 -0700
commitedf6db4a45a7b3258369f612bb9ec60e95ac2315 (patch)
treeef7bc7c2538bd2c3b0925719262205c1661fa628
parentdf7681858bd5b1294bddfbbef6fb734b35d29dd8 (diff)
downloadgolang-edf6db4a45a7b3258369f612bb9ec60e95ac2315.tar.gz
move ShortWrite error into io so that other packages can use it.
R=r DELTA=15 (7 added, 1 deleted, 7 changed) OCL=28996 CL=28996
-rw-r--r--src/lib/bufio/bufio.go11
-rw-r--r--src/lib/http/server.go2
-rw-r--r--src/lib/io/io.go9
3 files changed, 14 insertions, 8 deletions
diff --git a/src/lib/bufio/bufio.go b/src/lib/bufio/bufio.go
index f0e12931d..3b4aeb820 100644
--- a/src/lib/bufio/bufio.go
+++ b/src/lib/bufio/bufio.go
@@ -30,11 +30,10 @@ type Error struct {
}
var (
- PhaseError os.Error = &Error{"phase error"};
- BufferFull os.Error = &Error{"buffer full"};
- InternalError os.Error = &Error{"bufio internal error"};
- BadBufSize os.Error = &Error{"bad bufio size"};
- ShortWrite os.Error = &Error{"short write"};
+ PhaseError os.Error = &Error{"bufio: phase error"};
+ BufferFull os.Error = &Error{"bufio: buffer full"};
+ InternalError os.Error = &Error{"bufio: internal error"};
+ BadBufSize os.Error = &Error{"bufio: bad buffer size"};
)
func copySlice(dst []byte, src []byte) {
@@ -427,7 +426,7 @@ func (b *Writer) Flush() os.Error {
m, e := b.wr.Write(b.buf[n:b.n]);
n += m;
if m == 0 && e == nil {
- e = ShortWrite
+ e = io.ErrShortWrite
}
if e != nil {
if n < b.n {
diff --git a/src/lib/http/server.go b/src/lib/http/server.go
index bdac8f188..375818235 100644
--- a/src/lib/http/server.go
+++ b/src/lib/http/server.go
@@ -177,7 +177,7 @@ func (c *Conn) Write(data []byte) (n int, err os.Error) {
n, err = c.buf.Write(data);
if err == nil && c.chunking {
if n != len(data) {
- err = bufio.ShortWrite;
+ err = io.ErrShortWrite;
}
if err == nil {
io.WriteString(c.buf, "\r\n");
diff --git a/src/lib/io/io.go b/src/lib/io/io.go
index b28359359..70c82d562 100644
--- a/src/lib/io/io.go
+++ b/src/lib/io/io.go
@@ -13,12 +13,19 @@ import (
"os";
)
-// ErrEOF is the error returned by FullRead and Copyn when they encounter EOF.
+// Error represents an unexpected I/O behavior.
type Error struct {
os.ErrorString
}
+
+// ErrEOF means that data was expected, but a read got EOF instead.
var ErrEOF os.Error = &Error{"EOF"}
+// ErrShortWrite means that a write accepted fewer bytes than requested
+// but failed to return an explicit error.
+var ErrShortWrite os.Error = &Error{"short write"}
+
+
// Reader is the interface that wraps the basic Read method.
type Reader interface {
Read(p []byte) (n int, err os.Error);