|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.data.DataStructureImpl
net.i2p.data.i2np.I2NPMessageImpl
net.i2p.data.i2np.FastI2NPMessageImpl
net.i2p.data.i2np.DatabaseLookupMessage
public class DatabaseLookupMessage
Defines the message a router sends to another router to search for a key in the network database.
Nested Class Summary | |
---|---|
static class |
DatabaseLookupMessage.Type
|
Nested classes/interfaces inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
I2NPMessageImpl.Builder |
Field Summary | |
---|---|
static int |
MESSAGE_TYPE
|
Fields inherited from class net.i2p.data.i2np.FastI2NPMessageImpl |
---|
_checksum, _hasChecksum |
Fields inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
_context, _expiration, _log, _uniqueId, CHECKSUM_LENGTH, DEFAULT_EXPIRATION_MS, HEADER_LENGTH |
Fields inherited from interface net.i2p.data.i2np.I2NPMessage |
---|
MAX_ID_VALUE, MAX_SIZE |
Constructor Summary | |
---|---|
DatabaseLookupMessage(I2PAppContext context)
|
|
DatabaseLookupMessage(I2PAppContext context,
boolean locallyCreated)
|
Method Summary | |
---|---|
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. |
Methods inherited from class net.i2p.data.i2np.FastI2NPMessageImpl |
---|
readBytes, readBytes, readBytes, toByteArray, toByteArrayWithSavedChecksum, writeBytes |
Methods inherited from class net.i2p.data.i2np.I2NPMessageImpl |
---|
createMessage, fromRawByteArray, getMessageExpiration, getMessageSize, getRawMessageSize, getUniqueId, readBytes, readMessage, registerBuilder, setMessageExpiration, setUniqueId, toByteArray, toRawByteArray |
Methods inherited from class net.i2p.data.DataStructureImpl |
---|
calculateHash, fromBase64, fromByteArray, read, toBase64 |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.i2p.data.DataStructure |
---|
calculateHash, fromBase64, fromByteArray, toBase64 |
Field Detail |
---|
public static final int MESSAGE_TYPE
Constructor Detail |
---|
public DatabaseLookupMessage(I2PAppContext context)
public DatabaseLookupMessage(I2PAppContext context, boolean locallyCreated)
locallyCreated
- ignoredMethod Detail |
---|
public 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-null
IllegalStateException
- 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 type
I2NPMessageException
- 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
public int hashCode()
hashCode
in class Object
public boolean equals(Object object)
equals
in class Object
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |