conn_opt.go
func OnRecv(f func(*Request, *Response)) ConnOpt {
	return func(c *Conn) { c.onRecv = append(c.onRecv, f) }
}
func OnRecv(f func(*Request, *Response)) ConnOpt {
	return func(c *Conn) { c.onRecv = append(c.onRecv, f) }
}
// OnRecv causes all requests received on conn to invoke f(req, nil)
// and all responses to invoke f(req, resp),