lib9p

Go 9P library.
Log | Files | Refs

commit 7c429cc368f8cef0c21567e567f921617010561b
parent 04eead3819c668c6a7c542fa2808f2c4492936dd
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Thu, 12 Oct 2023 17:36:59 +0900

change API

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

diff --git a/client.go b/client.go @@ -177,7 +177,7 @@ func (c *Client) Version(ctx context.Context, mSize uint32, version string) (uin tmsg := &TVersion{mSize: mSize, version: version} rmsg, err := c.transact(ctx, tmsg) if err != nil { - return 0, "", err + return 0, "", fmt.Errorf("transact: %v", err) } switch rmsg := rmsg.(type) { case *RVersion: @@ -189,9 +189,20 @@ func (c *Client) Version(ctx context.Context, mSize uint32, version string) (uin } } -func (c *Client) Auth(ctx context.Context, afid uint32, uname, aname string) (Msg, error) { +func (c *Client) Auth(ctx context.Context, afid uint32, uname, aname string) (Qid, error) { tmsg := &TAuth{afid: afid, uname: uname} - return c.transact(ctx, tmsg) + rmsg, err := c.transact(ctx, tmsg) + if err != nil { + return Qid{}, fmt.Errorf("transact: %v", err) + } + switch rmsg := rmsg.(type) { + case *RAuth: + return rmsg.aqid, nil + case *RError: + return Qid{}, rmsg.ename + default: + return Qid{}, fmt.Errorf("invalid reply: %v", rmsg) + } } func (c *Client) Attach(ctx context.Context, fid, afid uint32, uname, aname string) (Msg, error) {