MCPcopy Index your code
hub / github.com/Bitmessage/PyBitmessage / _checkAndShareUndefinedObjectWithPeers

Function _checkAndShareUndefinedObjectWithPeers

src/shared.py:380–400  ·  view source on GitHub ↗
(data)

Source from the content-addressed store, hash-verified

378
379
380def _checkAndShareUndefinedObjectWithPeers(data):
381 embeddedTime, = unpack('>Q', data[8:16])
382 readPosition = 20 # bypass nonce, time, and object type
383 objectVersion, objectVersionLength = decodeVarint(
384 data[readPosition:readPosition + 9])
385 readPosition += objectVersionLength
386 streamNumber, streamNumberLength = decodeVarint(
387 data[readPosition:readPosition + 9])
388 if not streamNumber in state.streamsInWhichIAmParticipating:
389 logger.debug('The streamNumber %s isn\'t one we are interested in.' % streamNumber)
390 return
391
392 inventoryHash = calculateInventoryHash(data)
393 if inventoryHash in Inventory():
394 logger.debug('We have already received this undefined object. Ignoring.')
395 return
396 objectType, = unpack('>I', data[16:20])
397 Inventory()[inventoryHash] = (
398 objectType, streamNumber, data, embeddedTime,'')
399 logger.debug('advertising inv with hash: %s' % hexlify(inventoryHash))
400 protocol.broadcastToSendDataQueues((streamNumber, 'advertiseobject', inventoryHash))
401
402
403def _checkAndShareMsgWithPeers(data):

Callers 1

Calls 3

InventoryClass · 0.90
decodeVarintFunction · 0.85
calculateInventoryHashFunction · 0.85

Tested by

no test coverage detected