@cryptotaxi247 / kubo / commits / aed70170d

msgio proper write

Juan Batiz-Benet committed Dec 11, 2014 at 00:24 UTC aed70170dcc053cb599f56da3dc3999e02186a63
3 files changed +12 -5
Godeps/Godeps.json
+1 -1
@@ -106,7 +106,7 @@
106 },
107 {
108 "ImportPath": "github.com/jbenet/go-msgio",
109 - "Rev": "634f25d82673bbdb0b87b8d7e1b7a3df59ede671"
109 + "Rev": "7bdc5b738564871e1c0d5ca9449900d0d6773713"
110 },
111 {
112 "ImportPath": "github.com/jbenet/go-multiaddr",
Godeps/_workspace/src/github.com/jbenet/go-msgio/msgio.go
+7 -3
@@ -17,7 +17,7 @@ const lengthSize = 4
17 type Writer interface {
18
19 // Write writes passed in buffer as a single message.
20 - Write([]byte) error
20 + Write([]byte) (int, error)
21
22 // WriteMsg writes the msg in the passed in buffer.
23 WriteMsg([]byte) error
@@ -79,8 +79,12 @@ func NewWriter(w io.Writer) WriteCloser {
79 return &writer{W: w, lock: new(sync.Mutex)}
80 }
81
82 -func (s *writer) Write(msg []byte) (err error) {
83 - return s.WriteMsg(msg)
82 +func (s *writer) Write(msg []byte) (int, error) {
83 + err := s.WriteMsg(msg)
84 + if err != nil {
85 + return 0, err
86 + }
87 + return len(msg), nil
88 }
89
90 func (s *writer) WriteMsg(msg []byte) (err error) {
Godeps/_workspace/src/github.com/jbenet/go-msgio/msgio_test.go
+4 -1
@@ -20,10 +20,13 @@ func TestReadWrite(t *testing.T) {
20 r := rand.New(rand.NewSource(time.Now().UnixNano()))
21 for i := range msgs {
22 msgs[i] = randbuf.RandBuf(r, r.Intn(1000))
23 - err := writer.Write(msgs[i])
23 + n, err := writer.Write(msgs[i])
24 if err != nil {
25 t.Fatal(err)
26 }
27 + if n != len(msgs[i]) {
28 + t.Fatal("wrong length:", n, len(msgs[i]))
29 + }
30 }
31
32 if err := writer.Close(); err != nil {