commit 7c429cc368f8cef0c21567e567f921617010561b
parent 04eead3819c668c6a7c542fa2808f2c4492936dd
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 12 Oct 2023 17:36:59 +0900
change API
Diffstat:
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) {