本文整理汇总了Golang中proto-ascent/msg.Header.GetResponse方法的典型用法代码示例。如果您正苦于以下问题:Golang Header.GetResponse方法的具体用法?Golang Header.GetResponse怎么用?Golang Header.GetResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类proto-ascent/msg.Header
的用法示例。
在下文中一共展示了Header.GetResponse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: DispatchResponse
// DispatchResponse enqueues an incoming response into the response channel for
// the corresponding request.
//
// header: Message header for the response.
//
// data: User data in the response message.
//
// Returns nil on success.
func (this *Messenger) DispatchResponse(header *msgpb.Header,
data []byte) error {
lock, errLock := this.ctlr.Lock("this.requestMap")
if errLock != nil {
return errLock
}
defer lock.Unlock()
response := header.GetResponse()
requestID := response.GetRequestId()
responseCh, found := this.requestMap[requestID]
if !found {
this.Errorf("could not find request %d to dispatch response %s",
requestID, header)
return errs.ErrNotExist
}
// Close the lock early to release the resources.
lock.Unlock()
entry := &Entry{header: header, data: data}
select {
case responseCh <- entry:
return nil
default:
this.Errorf("could not queue response %s to request %d", header,
requestID)
return errs.ErrOverflow
}
}