mirror of
https://github.com/ChronosX88/KademliaDHT.git
synced 2024-11-21 17:52:21 +00:00
ContentLookupOperation
- Forgot to initialize the route length checker DHT - Setup the subfolder for content to be 2 digits in length instead of 10 -- With 10, we only have 1 content in a folder, 2 will be better since > 1 content will be in a folder -- Content with similar key tend to be in the same user, so they'll be alot in the same folder
This commit is contained in:
parent
d242e0a13a
commit
210e3842ca
@ -10,7 +10,7 @@ import java.io.File;
|
||||
public class DefaultConfiguration implements KadConfiguration
|
||||
{
|
||||
|
||||
private final static long RESTORE_INTERVAL = 20 * 1000; // in milliseconds
|
||||
private final static long RESTORE_INTERVAL = 60 * 1000; // in milliseconds
|
||||
private final static long RESPONSE_TIMEOUT = 1500;
|
||||
private final static long OPERATION_TIMEOUT = 3000;
|
||||
private final static int CONCURRENCY = 10;
|
||||
|
@ -272,11 +272,11 @@ public class DHT
|
||||
private String getContentStorageFolderName(KademliaId key)
|
||||
{
|
||||
/**
|
||||
* Each content is stored in a folder named after the first 10 characters of the NodeId
|
||||
* Each content is stored in a folder named after the first 2 characters of the NodeId
|
||||
*
|
||||
* The name of the file containing the content is the hash of this content
|
||||
*/
|
||||
String folderName = key.hexRepresentation().substring(0, 10);
|
||||
String folderName = key.hexRepresentation().substring(0, 2);
|
||||
File contentStorageFolder = new File(this.config.getNodeDataFolder(ownerId) + File.separator + folderName);
|
||||
|
||||
/* Create the content folder if it doesn't exist */
|
||||
|
@ -58,12 +58,13 @@ public class ContentLookupOperation implements Operation, Receiver
|
||||
private final Comparator comparator;
|
||||
|
||||
/* Statistical information */
|
||||
private RouteLengthChecker routeLengthChecker;
|
||||
private final RouteLengthChecker routeLengthChecker;
|
||||
|
||||
|
||||
{
|
||||
messagesTransiting = new HashMap<>();
|
||||
isContentFound = false;
|
||||
routeLengthChecker = new RouteLengthChecker();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -116,7 +117,7 @@ public class ContentLookupOperation implements Operation, Receiver
|
||||
* keey trying until config.operationTimeout() time has expired
|
||||
*/
|
||||
int totalTimeWaited = 0;
|
||||
int timeInterval = 10; // We re-check every 10 milliseconds
|
||||
int timeInterval = 10; // We re-check every n milliseconds
|
||||
while (totalTimeWaited < this.config.operationTimeout())
|
||||
{
|
||||
if (!this.askNodesorFinish() && !isContentFound)
|
||||
|
Loading…
Reference in New Issue
Block a user