public class DatabaseLookupMessage extends FastI2NPMessageImpl
| Modifier and Type | Class and Description |
|---|---|
static class |
DatabaseLookupMessage.Type |
I2NPMessageImpl.Builder| Modifier and Type | Field and Description |
|---|---|
static int |
MESSAGE_TYPE |
static boolean |
USE_ECIES_FF |
_checksum, _hasChecksum_context, _expiration, _log, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTHMAX_ID_VALUE, MAX_SIZE| Constructor and Description |
|---|
DatabaseLookupMessage(net.i2p.I2PAppContext context) |
DatabaseLookupMessage(net.i2p.I2PAppContext context,
boolean locallyCreated) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDontIncludePeer(net.i2p.data.Hash peer)
Add to the set.
|
void |
addDontIncludePeers(Collection<net.i2p.data.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<net.i2p.data.Hash> |
getDontIncludePeers()
Set of peers that a lookup reply should NOT include.
|
net.i2p.data.Hash |
getFrom()
Contains the router who requested this lookup
|
net.i2p.data.PublicKey |
getRatchetPublicKey()
The included session key or null if unset.
|
RatchetSessionTag |
getRatchetReplyTag()
The included session tag or null if unset
|
net.i2p.data.SessionKey |
getReplyKey()
The included session key or null if unset.
|
net.i2p.data.SessionTag |
getReplyTag()
The included session tag or null if unset
|
net.i2p.data.TunnelId |
getReplyTunnel()
Contains the tunnel ID a reply should be sent to
|
net.i2p.data.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<net.i2p.data.Hash> peers)
Replace the dontInclude set with this set.
|
void |
setFrom(net.i2p.data.Hash from) |
void |
setReplySession(net.i2p.data.PublicKey pubKey)
Ratchet.
|
void |
setReplySession(net.i2p.data.SessionKey encryptKey,
RatchetSessionTag encryptTag)
Ratchet
|
void |
setReplySession(net.i2p.data.SessionKey encryptKey,
net.i2p.data.SessionTag encryptTag)
Only worthwhile if sending reply via tunnel
|
void |
setReplyTunnel(net.i2p.data.TunnelId replyTunnel) |
void |
setSearchKey(net.i2p.data.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?
|
static boolean |
supportsRatchetReplies(RouterInfo to)
Does this router support ratchet replies?
|
String |
toString() |
protected int |
writeMessageBody(byte[] out,
int curIndex)
write the message body to the output array, starting at the given index.
|
readBytes, toByteArray, toByteArrayWithSavedChecksumcreateMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2, writeBytespublic static final int MESSAGE_TYPE
public static final boolean USE_ECIES_FF
public DatabaseLookupMessage(net.i2p.I2PAppContext context)
public DatabaseLookupMessage(net.i2p.I2PAppContext context,
boolean locallyCreated)
locallyCreated - ignoredpublic net.i2p.data.Hash getSearchKey()
public void setSearchKey(net.i2p.data.Hash key)
IllegalStateException - if key previously set, to protect saved checksumpublic DatabaseLookupMessage.Type getSearchType()
public void setSearchType(DatabaseLookupMessage.Type type)
type - non-nullpublic net.i2p.data.Hash getFrom()
public void setFrom(net.i2p.data.Hash from)
IllegalStateException - if from previously set, to protect saved checksumpublic net.i2p.data.TunnelId getReplyTunnel()
public void setReplyTunnel(net.i2p.data.TunnelId replyTunnel)
IllegalStateException - if tunnel previously set, to protect saved checksumpublic static boolean supportsEncryptedReplies(RouterInfo to)
to - null OKpublic static boolean supportsRatchetReplies(RouterInfo to)
to - null OKpublic net.i2p.data.SessionKey getReplyKey()
public net.i2p.data.SessionTag getReplyTag()
public void setReplySession(net.i2p.data.SessionKey encryptKey,
net.i2p.data.SessionTag encryptTag)
encryptKey - non-nullencryptTag - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic RatchetSessionTag getRatchetReplyTag()
public void setReplySession(net.i2p.data.SessionKey encryptKey,
RatchetSessionTag encryptTag)
encryptKey - non-nullencryptTag - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic net.i2p.data.PublicKey getRatchetPublicKey()
public void setReplySession(net.i2p.data.PublicKey pubKey)
pubKey - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic Set<net.i2p.data.Hash> getDontIncludePeers()
public void setDontIncludePeers(Collection<net.i2p.data.Hash> peers)
peers - may be nullpublic void addDontIncludePeer(net.i2p.data.Hash peer)
peer - non-nullpublic void addDontIncludePeers(Collection<net.i2p.data.Hash> peers)
peers - non-nullpublic void readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageException
I2NPMessagedata - 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()
I2NPMessageImplcalculateWrittenLength in class I2NPMessageImplprotected int writeMessageBody(byte[] out,
int curIndex)
throws I2NPMessageException
I2NPMessageImplwriteMessageBody in class I2NPMessageImplI2NPMessageExceptionpublic int getType()
I2NPMessage