commit e866fb189a99f3d9b45449bc436f7fa5453d8a8c
parent 25d431a6c23ee49bd0d0fe11748caa3a5e8e72ed
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 26 Oct 2023 07:43:41 +0900
move functions
Diffstat:
3 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/fcall.go b/fcall.go
@@ -2,9 +2,9 @@ package lib9p
import (
"fmt"
- "io"
)
+// Message types defined by 9P.
type MsgType uint8
const (
@@ -45,6 +45,9 @@ const (
// In Plan9, this const is 24.
const IOHDRSZ = 23
+// The tag used by version messages.
+// The client can use it, when establishing a connection, to
+// override tag matching in version messages.
const NOTAG = ^uint16(0)
// Msg represents any kind of message of 9P.
@@ -63,23 +66,6 @@ type Msg interface {
String() string
}
-func send(msg Msg, w io.Writer) error {
- if _, err := w.Write(msg.marshal()); err != nil {
- return fmt.Errorf("write: %v", err)
- }
- return nil
-}
-
-func recv(r io.Reader) (Msg, error) {
- b, err := read9PMsg(r)
- if err == io.EOF {
- return nil, err
- } else if err != nil {
- return nil, fmt.Errorf("read9PMsg: %v", err)
- }
- return unmarshal(b)
-}
-
// bufMsg is Msg with just an array of bytes.
type bufMsg []byte
diff --git a/parse.go b/parse.go
@@ -94,6 +94,25 @@ func unmarshal(buf []byte) (Msg, error) {
}
}
+// send send msg to w
+func send(msg Msg, w io.Writer) error {
+ if _, err := w.Write(msg.marshal()); err != nil {
+ return fmt.Errorf("write: %v", err)
+ }
+ return nil
+}
+
+// recv recievs 9P messages from r.
+func recv(r io.Reader) (Msg, error) {
+ b, err := read9PMsg(r)
+ if err == io.EOF {
+ return nil, err
+ } else if err != nil {
+ return nil, fmt.Errorf("read9PMsg: %v", err)
+ }
+ return unmarshal(b)
+}
+
// Gbit16 reads b as 2-byte long little endian unsigned integer and
// returns the result
func gbit16(b []byte) uint16 { return binary.LittleEndian.Uint16(b[0:2]) }
diff --git a/server.go b/server.go
@@ -738,7 +738,7 @@ func sClunk(ctx context.Context, s *Server, r *Req) {
func rClunk(r *Req, err error) {
if err != nil {
- panic("err in clunk: %v", err)
+ panic(fmt.Errorf("err in clunk: %v", err))
}
}