Serializable
, DataStructure
, I2NPMessage
public class DatabaseLookupMessage extends FastI2NPMessageImpl
Modifier and Type | Class | Description |
---|---|---|
static class |
DatabaseLookupMessage.Type |
I2NPMessageImpl.Builder
Modifier and Type | Field | Description |
---|---|---|
static int |
MESSAGE_TYPE |
_checksum, _hasChecksum
MAX_ID_VALUE, MAX_SIZE
_context, _expiration, _log, _uniqueId, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH
Constructor | Description |
---|---|
DatabaseLookupMessage(I2PAppContext context) |
|
DatabaseLookupMessage(I2PAppContext context,
boolean locallyCreated) |
Modifier and Type | Method | Description |
---|---|---|
void |
addDontIncludePeer(Hash peer) |
Add to the set.
|
void |
addDontIncludePeers(Collection<Hash> peers) |
Add to the set.
|
protected int |
calculateWrittenLength() |
calculate the message body's length (not including the header and footer
|
boolean |
equals(Object object) |
|
Set<Hash> |
getDontIncludePeers() |
Set of peers that a lookup reply should NOT include.
|
Hash |
getFrom() |
Contains the router who requested this lookup
|
SessionKey |
getReplyKey() |
The included session key or null if unset
|
SessionTag |
getReplyTag() |
The included session tag or null if unset
|
TunnelId |
getReplyTunnel() |
Contains the tunnel ID a reply should be sent to
|
Hash |
getSearchKey() |
Defines the key being searched for
|
DatabaseLookupMessage.Type |
getSearchType() |
Defines the type of data being searched for.
|
int |
getType() |
Return the unique identifier for this type of I2NP message, as defined in
the I2NP spec
|
int |
hashCode() |
|
void |
readMessage(byte[] data,
int offset,
int dataSize,
int type) |
Read the body into the data structures, after the initial type byte and
the uniqueId / expiration, using the current class's format as defined by
the I2NP specification
|
void |
setDontIncludePeers(Collection<Hash> peers) |
Replace the dontInclude set with this set.
|
void |
setFrom(Hash from) |
|
void |
setReplySession(SessionKey encryptKey,
SessionTag encryptTag) |
Only worthwhile if sending reply via tunnel
|
void |
setReplyTunnel(TunnelId replyTunnel) |
|
void |
setSearchKey(Hash key) |
|
void |
setSearchType(DatabaseLookupMessage.Type type) |
Defines the type of data being searched for.
|
static boolean |
supportsEncryptedReplies(RouterInfo to) |
Does this router support encrypted replies?
|
String |
toString() |
|
protected int |
writeMessageBody(byte[] out,
int curIndex) |
write the message body to the output array, starting at the given index.
|
calculateHash, fromBase64, fromByteArray, toBase64
calculateHash, fromBase64, fromByteArray, read, toBase64
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes
createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toRawByteArray
public static final int MESSAGE_TYPE
public DatabaseLookupMessage(I2PAppContext context)
public DatabaseLookupMessage(I2PAppContext context, boolean locallyCreated)
locallyCreated
- ignoredpublic Hash getSearchKey()
public void setSearchKey(Hash key)
IllegalStateException
- if key previously set, to protect saved checksumpublic DatabaseLookupMessage.Type getSearchType()
public void setSearchType(DatabaseLookupMessage.Type type)
type
- non-nullpublic Hash getFrom()
public void setFrom(Hash from)
IllegalStateException
- if from previously set, to protect saved checksumpublic TunnelId getReplyTunnel()
public void setReplyTunnel(TunnelId replyTunnel)
IllegalStateException
- if tunnel previously set, to protect saved checksumpublic static boolean supportsEncryptedReplies(RouterInfo to)
to
- null OKpublic SessionKey getReplyKey()
public SessionTag getReplyTag()
public void setReplySession(SessionKey encryptKey, SessionTag encryptTag)
encryptKey
- non-nullencryptTag
- non-nullIllegalStateException
- if key or tag previously set, to protect saved checksumpublic Set<Hash> getDontIncludePeers()
public void setDontIncludePeers(Collection<Hash> peers)
peers
- may be nullpublic void addDontIncludePeer(Hash peer)
peer
- non-nullpublic void addDontIncludePeers(Collection<Hash> peers)
peers
- non-nullpublic void readMessage(byte[] data, int offset, int dataSize, int type) throws I2NPMessageException
I2NPMessage
data
- data to read fromoffset
- where to start in the data arraydataSize
- how long into the data to readtype
- I2NP message typeI2NPMessageException
- if the stream doesn't contain a valid message
that this class can read.protected int calculateWrittenLength()
I2NPMessageImpl
calculateWrittenLength
in class I2NPMessageImpl
protected int writeMessageBody(byte[] out, int curIndex) throws I2NPMessageException
I2NPMessageImpl
writeMessageBody
in class I2NPMessageImpl
I2NPMessageException
public int getType()
I2NPMessage