Пример #1
0
func (c *ClientConn) process(fc *plan9.Fcall, out chan *plan9.Fcall) {
	println(">>>\t", fc.String())
	switch fc.Type {
	case plan9.Tversion:
		fc = c.version(fc)
	case plan9.Tattach:
		fc = c.attach(fc)
	case plan9.Twalk:
		fc = c.walk(fc)
	case plan9.Topen:
		fc = c.open(fc)
	case plan9.Tread:
		fc = c.read(fc)
	case plan9.Tclunk:
		fc = c.clunk(fc)
	case plan9.Tcreate:
		fc = c.create(fc)
	case plan9.Twrite:
		fc = c.write(fc)
	case plan9.Tauth:
		fc = noauth(fc)
	default:
		println("!!!\t", fc.String())
		fc = nil
	}
	if fc != nil {
		println("<<<\t", fc.String())
	}
	out <- fc
}