Commit Graph

103 Commits

Author SHA1 Message Date
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
Joshua Kissoon
b5e89c6ddb Keeping with some good coding standards - Code to Interfaces not implementations
Changed the use of ArrayList to List and HashMap to Map
2014-02-26 11:57:59 +05:30
Joshua Kissoon
9f14c66a31 Persistent content storage now working perfectly!!! 2014-02-26 11:40:06 +05:30
Joshua Kissoon
c67e501df6 Content Sending working between nodes 2014-02-25 22:57:46 +05:30
Joshua Kissoon
fa4b29305e Finished implementing a JsonSerializer to serialize Content 2014-02-25 18:58:32 +05:30
Joshua Kissoon
995da2cffb Continuing work on message sending 2014-02-25 13:42:08 +05:30
Joshua Kissoon
faef3d03ec Started working on sending content messages 2014-02-25 13:01:06 +05:30
Joshua Kissoon
44077d344d Started working on Node refreshing the K-Buckets and DHT content at every time interval t
Started working on PUT, GET, STORE operation and on DHT Storage
2014-02-24 21:26:49 +05:30
Joshua Kissoon
3344511603 Finished NodeLookupOperation functionality! Finally found the bug 2014-02-22 19:37:04 +05:30
Joshua Kissoon
9eca0614f2 Still working on NodeLookupRequest
Updated the NodeId equals() and hashCode() methods; fixes the bug where several same NodeIds were being added to the routing table
2014-02-19 21:21:18 +05:30
Joshua Kissoon
1de348fc72 Working on NodeLookups 2014-02-19 15:54:15 +05:30
Joshua Kissoon
58df7be300 Started working on the NodeLookupOperation
Created some new Messages
Updated a few minor things
2014-02-19 13:00:29 +05:30
Joshua Kissoon
6ff6e8dc21 Fixed the NodeId Prefix Length method to give the correct prefixLength 2014-02-19 11:38:27 +05:30