func (c *rpcPlusCodec) ReadRequestHeader(r *request, first bool) error { m := codec.Message{Header: c.req.Header} if !first { var tm transport.Message if err := c.socket.Recv(&tm); err != nil { return err } c.buf.rbuf.Reset() if _, err := c.buf.rbuf.Write(tm.Body); err != nil { return err } m.Header = tm.Header } err := c.codec.ReadHeader(&m, codec.Request) r.ServiceMethod = m.Method r.Seq = m.Id return err }