feat(websocket): implement Reader for reading binary data from the manager

- Removed Close method from Writer
This commit is contained in:
yusing
2025-09-13 22:38:24 +08:00
parent 99c1922342
commit 493c0afdfa
2 changed files with 25 additions and 4 deletions

View File

@@ -0,0 +1,25 @@
package websocket
import (
"io"
"time"
)
type Reader struct {
manager *Manager
}
func (m *Manager) NewReader() io.Reader {
return &Reader{
manager: m,
}
}
func (r *Reader) Read(p []byte) (int, error) {
data, err := r.manager.ReadBinary(10 * time.Second)
if err != nil {
return 0, err
}
copy(p, data)
return len(data), nil
}

View File

@@ -20,7 +20,3 @@ func (cm *Manager) NewWriter(msgType int) io.Writer {
func (w *Writer) Write(p []byte) (int, error) {
return len(p), w.manager.WriteData(w.msgType, p, 10*time.Second)
}
func (w *Writer) Close() error {
return w.manager.conn.Close()
}