From 775b076861a1d2c260c32befef12770833baeffd Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 29 十月 2019 11:17:47 +0800
Subject: [PATCH] fixed
---
readwriter.go | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/readwriter.go b/readwriter.go
index 523a605..7649741 100644
--- a/readwriter.go
+++ b/readwriter.go
@@ -56,8 +56,40 @@
return rw.name
}
-// Read
+// DirectRead create byte in func
+func (rw *ReadWriteCloser) DirectRead() ([]byte, error) {
+ buf, err := rw.GetReadBuffer()
+ if err != nil {
+ return nil, err
+ }
+ data := make([]byte, len(buf.Data))
+
+ copy(data, buf.Data)
+ isEOF := buf.Flags[eofFlagIndex]&eofFlagMask != 0
+
+ if err = rw.SendReadBuffer(buf); err != nil {
+ return nil, err
+ }
+
+ if isEOF {
+ return data, io.EOF
+ }
+
+ return data, nil
+}
+
+// Peek get length
+func (rw *ReadWriteCloser) Peek() (n int, err error) {
+ buf, err := rw.GetReadBuffer()
+ if err != nil {
+ return 0, err
+ }
+
+ return len(buf.Data), nil
+}
+
+// Read
func (rw *ReadWriteCloser) Read(p []byte) (n int, err error) {
buf, err := rw.GetReadBuffer()
if err != nil {
--
Gitblit v1.8.0