lib9p

Go 9P library.
Log | Files | Refs

commit ca64448d5dd94ec9ea96ae39e48cfa5ce58f34cc
parent ffb0f3d163a21b6e43ed3f0c0c942005bd0bb4c8
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sat, 14 Oct 2023 07:12:01 +0900

add walk() to client

Diffstat:
Mclient2.go | 14+++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/client2.go b/client2.go @@ -10,9 +10,9 @@ func (c *Client) Root() File { return c.root } -func Mount(r io.Reader, w io.Writer, uname, aname string) (fs FS, err error) { +func Mount(r io.Reader, w io.Writer, uname, aname string) (fs *Client, err error) { var ( - mSize uint32 = 8196 + mSize uint32 = 8192 version = "9P2000" ctx = context.TODO() ) @@ -22,7 +22,7 @@ func Mount(r io.Reader, w io.Writer, uname, aname string) (fs FS, err error) { if err != nil { return nil, fmt.Errorf("version: %v", err) } - if rver != "version" { + if rver != version { return nil, fmt.Errorf("incompatible version %s", rver) } if rmSize < mSize { @@ -48,4 +48,12 @@ func Mount(r io.Reader, w io.Writer, uname, aname string) (fs FS, err error) { c.root.parent = c.root fid.file = c.root return c, nil +} + +func (c *Client) walk(name string) (*ClientFile, error) { + f, err := walkfile(c.root, name) + if err != nil { + return nil, err + } + return f.(*ClientFile), nil } \ No newline at end of file