Joshua Kissoon
4888bf4dd4
Improve response check time
...
When doing a NodeLookup, Content Lookup or Connect operation, after sending the message, we used to wait(operation_timeout) time before checking for a result.
Now what I'm doing is waiting for 100 ms and check for a result every 100ms; I keep a count of total time waited, and only when the total time > operation_timeout do we make a timeout.
So now we can handle the response if it comes in before Operation_timeout time is finished
2014-04-13 18:57:54 +05:30
Joshua Kissoon
eaeffeb0ba
Store content in string so saved file is easily readable.
2014-04-06 17:01:27 +05:30
Joshua Kissoon
1a5991404d
Updated the HashCalculator class to add some more functionality
2014-04-05 22:45:01 +05:30
Joshua Kissoon
33f9eea09f
Updated HashCalculator to add MD5 hashing in there
2014-04-05 22:39:33 +05:30
Joshua Kissoon
51de9cbc82
Re-Arranged a few packages a bit
...
Added a HashCalculator class
2014-04-05 22:36:46 +05:30
Joshua Kissoon
2dde2a75e0
Setup Content Updating
...
- Didn't do this before, but now it's setup: content will be updated on the DHT if a StoreContentMessage is sent with a newer version of the content
GetParameter
- Updated the GetParameter so that it can be constructed from a KadContent object or a StorageEntryMetadata object
- Move it to the DHT package
Others
- Added a few methods to StorageEntryMetadata, StorageEntryManager& DHT to simplify conversions between KadContent, GetParameter & StorageEntryMetadata
Tests
- Written a test to check content updating
2014-04-05 21:07:57 +05:30
Joshua Kissoon
cc1d03ba81
Some comments and fixes
2014-04-02 18:39:16 +05:30
Joshua Kissoon
3e236f4d17
Now we use a StorageEntry class to send data accross peers
...
Out KadContent interface also now specifies a set of methods to force it's subclasses to do their own toByte conversions
2014-04-02 18:05:14 +05:30
Joshua Kissoon
9190b122c7
The current mechanism for serializing content will not work for complex content types.
...
Now we need to add methods to KadContent objects to provide the byte[] format of their content and to re-read the byte format of their content.
2014-04-02 16:35:08 +05:30
Joshua Kissoon
5b3e01df4e
Fixed the bug "Getting content from reloaded node(Node whose state have been saved and re-loaded from file) NullPointerException".
...
Wrote a test to show getting content from reloaded node
2014-04-01 10:42:43 +05:30
Joshua Kissoon
1995682992
Had some issues with saving node state since saving configuration had a problem. We do not need to save configuration! Fixed the bug by making the configuration transient
2014-03-31 22:50:57 +05:30
Joshua Kissoon
b1ab1be760
Content Lookup wasn't working! Fixed the issue! stupid "!" in the damn statement!
2014-03-31 21:28:45 +05:30
Joshua Kissoon
a259579f4a
Created a KadConfiguration interface that allows passing in a configuration file as needed.
...
This allows other applications to create their own configuration files
2014-03-29 14:37:01 +05:30
Joshua Kissoon
6462722227
Fixed the bug where refreshing content routed content to wrong new nodes and also deleted content from localnode even if it was one of the closest!
2014-03-29 12:29:13 +05:30
Joshua Kissoon
c232fccc69
Added the getNodeStorageFolder method to the Configuration class rather than having it repeated in DHT and Kademlia
...
Added a getDHT method to Kademlia
Changed the folder structure in which content is stored in the DHT from Kademlia/substr(contentid, 10)/hash(content).kct TO Kademlia/ownerId/substr(contentid, 10)/hash(content).kct
2014-03-29 10:52:55 +05:30
Joshua Kissoon
426af4d345
Removed the Save_state decision from configuration and allow the user to specify if to save the state when they call shutdown
2014-03-26 16:23:17 +05:30
Joshua Kissoon
46b8c1329a
Update README.md
...
Spelling mistake correction
2014-03-22 17:50:17 +05:30
Joshua Kissoon
9293070f59
Update README.md
2014-03-22 17:49:09 +05:30
Joshua Kissoon
f0669b98a6
Update README.md
2014-03-22 17:48:37 +05:30
Joshua Kissoon
dadd0ac694
Update README.md
2014-03-22 17:46:56 +05:30
Joshua Kissoon
76bf88f3fe
Update README.md
...
Added a complete description of it's usage.
2014-03-22 17:45:06 +05:30
Joshua Kissoon
219e6073ed
Content deletion from a node that is no longer one of the K-Closest is working!
2014-03-22 15:52:37 +05:30
Joshua Kissoon
d9fdcc57fd
Fixed the bug that was causing replication of content files and StorageEntries. RefreshOperation working well!!
2014-03-22 15:27:22 +05:30
Joshua Kissoon
b93133337c
Added a method to store content only locally
...
Updated the StoreOperation to store content locally if the local Node is a part of the K-Closest to the content
2014-03-22 14:33:31 +05:30
Joshua Kissoon
42be8498c0
Finished the todos:
...
* @todo Make the KadBucket represent the Bucket interface
* @todo Change the code to reflect the bucket interface and not the specific KadBucket implementation
* @todo Update this interface and use this as parameter type, etc... instead of the KadBucket implementation used throughout the application
Now we're coding to the Bucket interface rather than the KadBucket implementation
2014-03-22 13:03:10 +05:30
Joshua Kissoon
6fdff97429
Setup the get bucket ID computation in one method.
...
Added Javadoc
2014-03-22 12:55:19 +05:30
Joshua Kissoon
104f20775f
Fixed the bug that was causing the problem when adding the local node to the routing table when the routing table is created.
...
- The problem was that we were creating the RoutingTable before the Node initialization was finished, which was causing some problems since the RoutingTable needs the NodeId which is not available until after the Node initialization
2014-03-22 12:41:46 +05:30
Joshua Kissoon
3f82c4a0ef
Did some code cleanups
...
- Add Comments
- Remove println statements
- Deleted useless comments, etc
2014-03-22 12:35:00 +05:30
Joshua Kissoon
21053a16ff
Fixed the Distance Comparison bugs by using a new KeyComparator class of type Comparable<NodeId> and using BigIntegers to represent the keys and letting BigInteger do the comparisons
2014-03-22 11:32:41 +05:30
Joshua Kissoon
0cc24d42f3
Trying to fix an issue in the nodelookupoperation where the k-Closest nodes system doesn't work.
...
Lots of extra code added, but we're still in devel! so ...
2014-03-22 10:53:05 +05:30
Joshua Kissoon
22fee9116a
Problem with serializing the DHT also, had to create a DHT specific Serializer class
2014-03-10 14:37:08 +05:30
Joshua Kissoon
e2ca9326c9
Got system state storage and retrieval of state to work!
2014-03-10 13:45:13 +05:30
Joshua Kissoon
e1e6e4e40d
Got storage to work!
2014-03-10 11:08:51 +05:30
Joshua Kissoon
d31f0e337f
Still working on saving node state, the code is a huge mess right now
2014-03-09 21:04:18 +05:30
Joshua Kissoon
eb7d7b53a4
Setup storing of System state on shutdown
2014-03-09 20:12:11 +05:30
Joshua Kissoon
630f8c2f28
2014-03-07 11:18:04 +05:30
Joshua Kissoon
46147eddd1
Finished a Basic version of the content refresh operation
2014-03-07 11:14:45 +05:30
Joshua Kissoon
a97905e431
Started working on the ContentRefreshOperation
...
- Setup a method to get all storage entries for the different content
- Started setting up the content refresh operation functionality
2014-03-06 20:42:30 +05:30
Joshua Kissoon
689a35b7bf
Cleaned up the core code, added comments and removed all Netbeans generated warnings
2014-03-06 16:51:42 +05:30
Joshua Kissoon
796e41dd9a
Updated the bucket refresh operation to use 1 thread to update each bucket
2014-03-06 16:38:46 +05:30
Joshua Kissoon
cabb5af742
Finish Bucket Refresh Operation :)
2014-03-06 16:24:50 +05:30
Joshua Kissoon
f91dea9e5f
NodeId.getFirstSetBitIndex was actually returning a distance value, but without a comparison, was confusing things.
...
Created a distance function to replace that.
Still working on Refresh Operations
2014-03-06 12:49:15 +05:30
Joshua Kissoon
825c2ca13f
Merge origin/master
2014-03-06 11:21:41 +05:30
Joshua Kissoon
acd7885dba
Started working on the RefreshOperations
2014-03-06 11:21:08 +05:30
Joshua Kissoon
5f81ccfdde
Merge pull request #2 from bitdeli-chef/master
...
Add a Bitdeli Badge to README
2014-03-03 13:48:51 +05:30
Bitdeli Chef
4099417166
Add a Bitdeli badge to README
2014-03-03 08:21:42 +00:00
Joshua Kissoon
e4726b93f8
Content Store, Retrieve and DHT File and Table management working well
...
Got a few Todos now to finish off
2014-02-26 21:35:37 +05:30
Joshua Kissoon
a12e075cec
Working on The ContentLookupReceiver
2014-02-26 19:16:44 +05:30
Joshua Kissoon
58f9157c9d
Finished coding the lookup content functionality
2014-02-26 18:58:55 +05:30
Joshua Kissoon
a2d0be6124
Finished DHT content storage and retrieval
...
Started working on Content lookup and sending content
2014-02-26 17:07:18 +05:30