[NOD-295] Capped amount of invs in a getData message. (#377)

This commit is contained in:
stasatdaglabs 2019-08-26 15:12:55 +03:00 committed by Svarog
parent d2353a189a
commit 5c14719f14
2 changed files with 5 additions and 1 deletions

View File

@ -1030,7 +1030,7 @@ func (sm *SyncManager) handleInvMsg(imsg *invMsg) {
func (sm *SyncManager) addInvsToGetDataMessageFromQueue(gdmsg *wire.MsgGetData, state *peerSyncState, requestQueue []*wire.InvVect) ([]*wire.InvVect, error) {
var invsNum int
leftSpaceInGdmsg := wire.MaxInvPerMsg - len(gdmsg.InvList)
leftSpaceInGdmsg := wire.MaxInvPerGetDataMsg - len(gdmsg.InvList)
if len(requestQueue) > leftSpaceInGdmsg {
invsNum = leftSpaceInGdmsg
} else {

View File

@ -16,6 +16,10 @@ const (
// single bitcoin inv message.
MaxInvPerMsg = 1 << 16
// MaxInvPerGetDataMsg is the maximum number of inventory vectors that can
// be in a single getData message.
MaxInvPerGetDataMsg = 50
// Maximum payload size for an inventory vector.
maxInvVectPayload = 4 + daghash.HashSize
)