com.google.bitcoin.core
Class InventoryMessage
java.lang.Object
com.google.bitcoin.core.Message
com.google.bitcoin.core.ListMessage
com.google.bitcoin.core.InventoryMessage
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- NotFoundMessage
public class InventoryMessage
- extends ListMessage
Represents the "inv" P2P network message. An inv contains a list of hashes of either blocks or transactions. It's
a bandwidth optimization - on receiving some data, a (fully validating) peer sends every connected peer an inv
containing the hash of what it saw. It'll only transmit the full thing if a peer asks for it with a
GetDataMessage.
- See Also:
- Serialized Form
| Fields inherited from class com.google.bitcoin.core.Message |
bytes, checksum, cursor, length, MAX_SIZE, offset, params, parsed, parseLazy, parseRetain, protocolVersion, recached, UNKNOWN_LENGTH |
| Methods inherited from class com.google.bitcoin.core.Message |
adjustLength, bitcoinSerialize, bitcoinSerialize, ensureParsed, getHash, getMessageSize, getParams, isCached, isParsed, isRecached, maybeParse, unCache, unsafeBitcoinSerialize |
InventoryMessage
public InventoryMessage(NetworkParameters params,
byte[] bytes)
throws ProtocolException
- Throws:
ProtocolException
InventoryMessage
public InventoryMessage(NetworkParameters params,
byte[] msg,
boolean parseLazy,
boolean parseRetain,
int length)
throws ProtocolException
- Deserializes an 'inv' message.
- Parameters:
params - NetworkParameters object.msg - Bitcoin protocol formatted byte array containing message content.parseLazy - Whether to perform a full parse immediately or delay until a read is requested.parseRetain - Whether to retain the backing byte array for quick reserialization.
If true and the backing byte array is invalidated due to modification of a field then
the cached bytes may be repopulated and retained if the message is serialized again in the future.length - The length of message if known. Usually this is provided when deserializing of the wire
as the length will be provided as part of the header. If unknown then set to Message.UNKNOWN_LENGTH
- Throws:
ProtocolException
InventoryMessage
public InventoryMessage(NetworkParameters params)
addBlock
public void addBlock(Block block)
addTransaction
public void addTransaction(Transaction tx)
with
public static InventoryMessage with(Transaction... txns)
- Creates a new inv message for the given transactions.
Copyright © 2014. All rights reserved.