本文整理汇总了Golang中rpc.Response类的典型用法代码示例。如果您正苦于以下问题:Golang Response类的具体用法?Golang Response怎么用?Golang Response使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Response类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ReadResponseHeader
func (c *clientCodec) ReadResponseHeader(r *rpc.Response) os.Error {
c.resp.reset()
if err := c.dec.Decode(&c.resp); err != nil {
return err
}
c.mutex.Lock()
r.ServiceMethod = c.pending[c.resp.Id]
c.pending[c.resp.Id] = "", false
c.mutex.Unlock()
r.Error = ""
r.Seq = c.resp.Id
if c.resp.Error != nil {
x, ok := c.resp.Error.(string)
if !ok {
return fmt.Errorf("invalid error %v", c.resp.Error)
}
if x == "" {
x = "unspecified error"
}
r.Error = x
}
return nil
}
示例2: ReadResponseHeader
func (c *clientCodec) ReadResponseHeader(r *rpc.Response) (err os.Error) {
c.resp.header.Reset()
lbuf := make([]byte, lenSize)
_, err = io.ReadFull(c.c, lbuf)
if err != nil {
return
}
pbuf := make([]byte, decodeLen(lbuf))
_, err = io.ReadFull(c.c, pbuf)
if err != nil {
return
}
c.resp.header.SetBuf(pbuf)
h := new(Header)
err = c.resp.header.Unmarshal(h)
if err != nil {
return
}
r.Seq = *h.Seq
r.ServiceMethod = *h.ServiceMethod
r.Error = *h.Error
return nil
}
示例3: ReadResponseHeader
func (c *clientCodec) ReadResponseHeader(r *rpc.Response) os.Error {
c.resp.reset()
if err := c.dec.Decode(&c.resp); err != nil {
return err
}
c.mutex.Lock()
r.ServiceMethod = c.pending[c.resp.Id]
c.pending[c.resp.Id] = "", false
c.mutex.Unlock()
r.Seq = c.resp.Id
r.Error = c.resp.Error
return nil
}