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) }
}
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),
OnRecv causes all requests received on conn to invoke f ( req nil ) and all responses to invoke f ( req resp )