public class DatabaseLookupMessage extends FastI2NPMessageImpl
| Modifier and Type | Class and Description |
|---|---|
static class | DatabaseLookupMessage.TypeDatabase lookup type enumeration. |
I2NPMessageImpl.Builder| Modifier and Type | Field and Description |
|---|---|
static int | MESSAGE_TYPEMESSAGE_TYPE. |
static boolean | USE_ECIES_FFUSE_ECIES_FF. |
_checksum, _hasChecksum_context, _expiration, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTHMAX_ID_VALUE, MAX_SIZE| Constructor and Description |
|---|
DatabaseLookupMessage(I2PAppContext context)DatabaseLookupMessage. |
DatabaseLookupMessage(I2PAppContext context,
boolean locallyCreated)Lookup message for the given context. |
| Modifier and Type | Method and Description |
|---|---|
void | addDontIncludePeer(Hash peer)Add to the set. |
void | addDontIncludePeers(Collection<Hash> peers)Add to the set. |
protected int | calculateWrittenLength()Calculates the length of the message body. |
boolean | equals(Object object)Compares this message to another for equality of all fields. |
Set<Hash> | getDontIncludePeers()Collection of peers that a lookup reply should NOT include. |
Hash | getFrom()Contains the router who requested this lookup |
PublicKey | getRatchetPublicKey()The included session key or null if unset. |
RatchetSessionTag | getRatchetReplyTag()The included session tag or null if unset. |
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()The message type. |
int | hashCode()Hash code calculated from the message fields. |
void | readMessage(byte[] data,
int offset,
int dataSize,
int type)Reads the message fields from the byte array. |
void | setDontIncludePeers(Collection<Hash> peers)Replace the dontInclude set with this set. |
void | setFrom(Hash from)Assigns the router who requested this lookup. |
void | setReplySession(PublicKey pubKey)Ratchet. |
void | setReplySession(SessionKey encryptKey,
RatchetSessionTag encryptTag)Ratchet |
void | setReplySession(SessionKey encryptKey,
SessionTag encryptTag)Only worthwhile if sending reply via tunnel |
void | setReplyTunnel(TunnelId replyTunnel)Assigns the tunnel a reply should be sent to. |
void | setSearchKey(Hash key)Assigns the key being searched for. |
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()String form of the message, suitable for debugging. |
protected int | writeMessageBody(byte[] out,
int curIndex)Writes the message body to the output array, returning the new index. |
readBytes, toByteArray, toByteArrayWithSavedChecksumcreateMessage, fromRawByteArray, fromRawByteArrayNTCP2, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, getUniqueId, readBytes, readMessage, setMessageExpiration, setUniqueId, toByteArray, toByteArray, toRawByteArray, toRawByteArrayNTCP2public static final int MESSAGE_TYPE
public static final boolean USE_ECIES_FF
public DatabaseLookupMessage(I2PAppContext context)
public DatabaseLookupMessage(I2PAppContext context, boolean locallyCreated)
locallyCreated - ignoredpublic void addDontIncludePeer(Hash peer)
peer - non-nullpublic void addDontIncludePeers(Collection<Hash> peers)
peers - non-nullprotected int calculateWrittenLength()
calculateWrittenLength in class I2NPMessageImplpublic boolean equals(Object object)
public Set<Hash> getDontIncludePeers()
public Hash getFrom()
public PublicKey getRatchetPublicKey()
public RatchetSessionTag getRatchetReplyTag()
public SessionKey getReplyKey()
public SessionTag getReplyTag()
public TunnelId getReplyTunnel()
public Hash getSearchKey()
public DatabaseLookupMessage.Type getSearchType()
public int getType()
public int hashCode()
public void readMessage(byte[] data,
int offset,
int dataSize,
int type)
throws I2NPMessageExceptiondata - 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.public void setDontIncludePeers(Collection<Hash> peers)
peers - may be nullpublic void setFrom(Hash from)
IllegalStateException - if from previously set, to protect saved checksumpublic void setReplySession(PublicKey pubKey)
pubKey - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic void setReplySession(SessionKey encryptKey, RatchetSessionTag encryptTag)
encryptKey - non-nullencryptTag - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic void setReplySession(SessionKey encryptKey, SessionTag encryptTag)
encryptKey - non-nullencryptTag - non-nullIllegalStateException - if key or tag previously set, to protect saved checksumpublic void setReplyTunnel(TunnelId replyTunnel)
IllegalStateException - if tunnel previously set, to protect saved checksumpublic void setSearchKey(Hash key)
IllegalStateException - if key previously set, to protect saved checksumpublic void setSearchType(DatabaseLookupMessage.Type type)
type - non-nullpublic static boolean supportsEncryptedReplies(RouterInfo to)
to - null OK returns true as of 0.9.69public static boolean supportsRatchetReplies(RouterInfo to)
to - null OK returns true as of 0.9.69public String toString()
protected int writeMessageBody(byte[] out,
int curIndex)
throws I2NPMessageExceptionwriteMessageBody in class I2NPMessageImplI2NPMessageException