aboutsummaryrefslogtreecommitdiff
path: root/tde
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-23 23:53:35 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-23 23:53:35 +0200
commitba6713e21232d0a80d665e7e5541c7c3a28eb99e (patch)
tree97e702ea3afd5d9efbec3d0c70193b761a375361 /tde
parentfaf64e8bb35ed93fe9a691f9899389a65e35ae20 (diff)
Mimic stdlib
Diffstat (limited to 'tde')
-rw-r--r--tde/tde.go22
1 files changed, 10 insertions, 12 deletions
diff --git a/tde/tde.go b/tde/tde.go
index 44ee6e3..2b4e35b 100644
--- a/tde/tde.go
+++ b/tde/tde.go
@@ -17,10 +17,7 @@ func (t TDE) Write(p []byte) (n int, err error) {
if err := binary.Write(t.Conn, nbo, size); err != nil {
return 0, err
}
- if err := binary.Write(t.Conn, nbo, p); err != nil {
- return 0, err
- }
- return int(size), nil
+ return t.Conn.Write(p)
}
func (t TDE) Read(p []byte) (n int, err error) {
@@ -28,14 +25,15 @@ func (t TDE) Read(p []byte) (n int, err error) {
if err := binary.Read(t.Conn, nbo, &size); err != nil {
return 0, err
}
- if int(size) < len(p) {
- p = p[:size]
- err = io.EOF
- }
- if err := binary.Read(t.Conn, nbo, p); err != nil {
- return 0, err
- }
- return int(size), err
+ return t.Conn.Read(p[:size])
+}
+
+const maxLen = 240
+
+func ReadAll(r io.Reader) ([]byte, error) {
+ p := make([]byte, maxLen)
+ n, err := r.Read(p)
+ return p[:n], err
}
func Dial(service string) (TDE, error) {