Blame


1 e342de7d 2015-11-11 adrien package p9p
2 e342de7d 2015-11-11 adrien
3 641595f8 2015-11-14 stephen.d import "golang.org/x/net/context"
4 e342de7d 2015-11-11 adrien
5 e342de7d 2015-11-11 adrien // Session provides the central abstraction for a 9p connection. Clients
6 e342de7d 2015-11-11 adrien // implement sessions and servers serve sessions. Sessions can be proxied by
7 e342de7d 2015-11-11 adrien // serving up a client session.
8 e342de7d 2015-11-11 adrien //
9 e342de7d 2015-11-11 adrien // The interface is also wired up with full context support to manage timeouts
10 e342de7d 2015-11-11 adrien // and resource clean up.
11 e342de7d 2015-11-11 adrien //
12 e342de7d 2015-11-11 adrien // Session represents the operations covered in section 5 of the plan 9 manual
13 e342de7d 2015-11-11 adrien // (http://man.cat-v.org/plan_9/5/). Requests are managed internally, so the
14 e342de7d 2015-11-11 adrien // Flush method is handled by the internal implementation. Consider preceeding
15 e342de7d 2015-11-11 adrien // these all with context to control request timeout.
16 e342de7d 2015-11-11 adrien type Session interface {
17 e342de7d 2015-11-11 adrien Auth(ctx context.Context, afid Fid, uname, aname string) (Qid, error)
18 e342de7d 2015-11-11 adrien Attach(ctx context.Context, fid, afid Fid, uname, aname string) (Qid, error)
19 e342de7d 2015-11-11 adrien Clunk(ctx context.Context, fid Fid) error
20 e342de7d 2015-11-11 adrien Remove(ctx context.Context, fid Fid) error
21 e342de7d 2015-11-11 adrien Walk(ctx context.Context, fid Fid, newfid Fid, names ...string) ([]Qid, error)
22 e342de7d 2015-11-11 adrien Read(ctx context.Context, fid Fid, p []byte, offset int64) (n int, err error)
23 e342de7d 2015-11-11 adrien Write(ctx context.Context, fid Fid, p []byte, offset int64) (n int, err error)
24 e342de7d 2015-11-11 adrien Open(ctx context.Context, fid Fid, mode Flag) (Qid, uint32, error)
25 e342de7d 2015-11-11 adrien Create(ctx context.Context, parent Fid, name string, perm uint32, mode Flag) (Qid, uint32, error)
26 e342de7d 2015-11-11 adrien Stat(ctx context.Context, fid Fid) (Dir, error)
27 e342de7d 2015-11-11 adrien WStat(ctx context.Context, fid Fid, dir Dir) error
28 e342de7d 2015-11-11 adrien
29 e342de7d 2015-11-11 adrien // Version returns the supported version and msize of the session. This
30 e342de7d 2015-11-11 adrien // can be affected by negotiating or the level of support provided by the
31 e342de7d 2015-11-11 adrien // session implementation.
32 e342de7d 2015-11-11 adrien Version() (msize int, version string)
33 e342de7d 2015-11-11 adrien }