func()

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")
	}
}