(data)
| 378 | |
| 379 | |
| 380 | def _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 | |
| 403 | def _checkAndShareMsgWithPeers(data): |
no test coverage detected