in client.go [372:406]
func (c *Connection) readHeaders(stream acpb.AgentCommunication_StreamAgentMessagesClient) {
md, err := stream.Header()
if err != nil {
loggerPrintf("Error getting stream header: %v", err)
return
}
c.limitsMx.Lock()
defer c.limitsMx.Unlock()
value := md.Get(metadataMessageRateLimit)
if len(value) > 0 {
rateLimit, err := strconv.Atoi(value[0])
if err != nil {
loggerPrintf("Error parsing message rate limit: %v", err)
} else {
c.messageRateLimit = rateLimit
loggerPrintf("Message rate limit: %d", c.messageRateLimit)
}
} else {
loggerPrintf("No message rate limit")
}
value = md.Get(metadataBandwidthLimit)
if len(value) > 0 {
bandwidthLimit, err := strconv.Atoi(value[0])
if err != nil {
loggerPrintf("Error parsing message bandwidth limit: %v", err)
} else {
c.messageBandwidthLimit = bandwidthLimit
loggerPrintf("Message bandwidth limit: %d", c.messageBandwidthLimit)
}
} else {
loggerPrintf("No message bandwidth limit")
}
}