Commit Graph

175 Commits

Author SHA1 Message Date
Anthony Minessale b79469b413 FS-10043: [libks] ks_pool_resize error #resolve 2017-02-14 20:48:54 -06:00
Anthony Minessale b97e44ff3b update thread pool test to use new pool_free syntax 2017-01-25 17:13:23 -06:00
Anthony Minessale a4acfbd16b add ks_acl 2017-01-25 17:10:50 -06:00
Anthony Minessale fdc1399e96 add thread pool test file 2017-01-25 17:09:39 -06:00
colm 57f793a076 FS-9775: Remove nodeid from bucket container 2017-01-25 14:59:39 -06:00
colm 12f660131f FS-9775: Update testbuckets to latest api 2017-01-25 14:59:39 -06:00
colm bf881b78f6 FS-9775: Update testbuckets to new api 2017-01-25 14:59:39 -06:00
colm b09fa90e51 FS-9775: Remove moved h file references 2017-01-25 14:59:39 -06:00
Shane Bryldt 743a768a3f FS-9775: First round of integration of DHT into libblade, requires ongoing changes to DHT for proper exposure to blade level 2017-01-25 14:59:38 -06:00
Shane Bryldt aaa13f3ba6 FS-9775: Tweaks, bug fixes, etc. Committing in preparation for introducing into libblade. 2017-01-25 14:59:38 -06:00
colm 66fdf5fa19 FS-9775: Implement serialization, deserialization & repopulation for dht table 2017-01-25 14:59:38 -06:00
Shane Bryldt 183116452b FS-9775: A bunch of stuff related to chaining multiple jobs, bug fixes, few other changes 2017-01-25 14:59:38 -06:00
colm a698651018 FS-9775: DHT Repopulate empty buckets 2017-01-25 14:59:38 -06:00
colm 4a0132f7b7 FS-9775: DHT Process table timing changes & test cleanup 2017-01-25 14:59:38 -06:00
Shane Bryldt 5f5f7f438e FS-9775: Some cleanup and bug fixes in DHT, switched to using hash destructors, and added sending of errors to most failed query scenarios 2017-01-25 14:59:38 -06:00
Shane Bryldt c4ed130073 FS-9775: First tested pass on search functionality, not tested with deep searching at multiple levels 2017-01-25 14:59:38 -06:00
colm 58e48a54f0 FS-9775: Add flags to dhtrt_create_node (merge) 2017-01-25 14:59:38 -06:00
Shane Bryldt 5dfd6d1b8f FS-9775: Bug fixes and exposed interface changes while implementing tests for get/put which are functional and pass initial tests now. Deep searching needs to be revamped now to complete the full announcing process. 2017-01-25 14:59:38 -06:00
colm 4970c7e9a6 FS-9775: Exclude newly created nodes from find 2017-01-25 14:59:38 -06:00
colm f6a2908ea8 FS-9775: Fix memory reuse. Remove redundant fields 2017-01-25 14:59:38 -06:00
colm 1aee27863f FS-9775: Format sources 2017-01-25 14:59:38 -06:00
colm eac02b764b FS-9775: Implement deinit dht routetable 2017-01-25 14:59:38 -06:00
colm 59608400d1 FS-9775: Add sharelock api for dht nodes 2017-01-25 14:59:38 -06:00
colm 64a44ed3a5 FS-9775: Improve dht route table query performance 2017-01-25 14:59:37 -06:00
Shane Bryldt 8be2251b76 FS-9775: Started working on "put", ran into a bug in job states which is fixed now, adjusted find_node response to add nodes to the job 2017-01-25 14:59:37 -06:00
colm 4338c1b941 FS-9775: Drive ping logic from dhtrt_process_table 2017-01-25 14:59:37 -06:00
colm 51c1b7a719 FS-9775: Exclude non-active nodes from dhtrt_find_node 2017-01-25 14:59:37 -06:00
Shane Bryldt 41731d553a FS-9775: Overhauled query/response handling by implementing a reusable job system to handle the common plumbing 2017-01-25 14:59:37 -06:00
Shane Bryldt 767326b047 FS-9775: Search for both v4 and v6 should now be implemented, untested currently 2017-01-25 14:59:37 -06:00
colm c2868dbf8a FS-9775: update dht bucket tests 2017-01-25 14:59:37 -06:00
colm 2c3b074897 FS-9775: add threadpool to init_routetable 2017-01-25 14:59:37 -06:00
colm df61ab87bf FS-9775: initialize dht nodes as dubious 2017-01-25 14:59:36 -06:00
colm f7027cd343 FS-9775: DHT find closest nodes not completing search 2017-01-25 14:59:36 -06:00
Anthony Minessale 421f13e6e5 add const 2017-01-25 14:59:36 -06:00
Anthony Minessale d2f04e2133 make ks_pool_free appear take double pointer 2017-01-25 14:59:36 -06:00
Shane Bryldt 73e4c22255 FS-9775: Most of search functionality is finished, needs testing when route table is ready, still reviewing a few things related to recent lock changes 2017-01-25 14:59:36 -06:00
Anthony Minessale 68e5321da0 regression from nolock mode 2017-01-25 14:59:36 -06:00
colm aed03077ef FS-9775: Bucket synchronization fixes & Updated tests 2017-01-25 14:59:36 -06:00
Anthony Minessale a42ed8f8f0 add flags to disable auto assert and auto memset 2017-01-25 14:59:36 -06:00
Anthony Minessale a0e3c93b09 get rid of FLAG_DEFAULT and juggle some params 2017-01-25 14:59:36 -06:00
Anthony Minessale ec0906e2d4 add nolock to hash and make it default 2017-01-25 14:59:36 -06:00
Shane Bryldt 4517a511d5 FS-9775: Major cleanup around allocations, more work on search functionality, adjusted polling to reduce timeout when outgoing messages are pending 2017-01-25 14:59:36 -06:00
colm d7222718aa FS-9775: Exempt local nodes from expiration. Add release_querynodes api 2017-01-25 14:59:36 -06:00
colm 6013808781 FS-9775: Thread safe dht buckets continued 2017-01-25 14:59:36 -06:00
colm fbc46839d9 FS-9775: Thread safe dht buckets 2017-01-25 14:59:36 -06:00
Shane Bryldt e52a85eb8d FS-9775: Added initialization of threadpool, and switched parsing and processing of a received datagram to dispatch through the threadpool. Also a bit more work on searches sneaking in here. 2017-01-25 14:59:36 -06:00
Anthony Minessale 2c5e40369f add mutex to windows emulated recursive Read locks 2017-01-25 14:59:36 -06:00
colm fc578a67f1 FS-9775: Add ks_dhtrt_release_node api call 2017-01-25 14:59:35 -06:00
Shane Bryldt fe36139965 FS-9775: Started mocking out structures for ks_dht_search, but merged route table updates and updated the tests for current pending issues 2017-01-25 14:59:35 -06:00
Anthony Minessale ff57e94889 add enum rules 2017-01-25 14:59:35 -06:00
colm b3bcc76db1 FS-9775: correct ks_dhtrt_closest_nodes query results 2017-01-25 14:59:35 -06:00
colm 5fa53dae50 FS-9775: Define for max nodes in a find_closestnodes query 2017-01-25 14:59:35 -06:00
colm 779592a9aa FS-9775: Updates for latest dht_bucket changes 2017-01-25 14:59:35 -06:00
colm 0842616add FS-9775: Update touch time on existing node in create_node. Rename enums 2017-01-25 14:59:35 -06:00
Shane Bryldt b88437fcbe FS-9775: Some cleanup, some commenting, some fixes. 2017-01-25 14:59:35 -06:00
Shane Bryldt 9e9adb8e4b FS-9775: Incorporated route table to test find_node before adding deep searching, but routetable bug is currently returning same values for all closest nodes results 2017-01-25 14:59:35 -06:00
Shane Bryldt e56c388707 FS-9775: Adjusted to proper destructor pattern, cleaned up unneccessary zeroing in allocators, and reduced preallocs to use memset 2017-01-25 14:59:35 -06:00
colm fdd7e7ec1c FS-9775: findclosest_nodes support for local/remote and ip family 2017-01-25 14:59:35 -06:00
colm 579e32013e FS-9775: add tests for dht buckets 2017-01-25 14:59:35 -06:00
colm 86d295ded1 FS-9775: Indentify local nodes, allow query to distingush local v remote 2017-01-25 14:59:35 -06:00
Anthony Minessale 1642b36eae update whitespace changes 2017-01-25 14:59:35 -06:00
Anthony Minessale 101e261f6b missed a spot 2017-01-25 14:59:35 -06:00
Anthony Minessale 61157bb516 fix imaginary compiler error on psuedo-code 2017-01-25 14:59:35 -06:00
Anthony Minessale 4d7f864495 format cleanup 2017-01-25 14:59:34 -06:00
Shane Bryldt dc76746bf2 FS-9775: Significant work towards supporting BEP44, "get" is nearly working committing to merge routetable updates 2017-01-25 14:59:34 -06:00
colm aa47b4bec2 FS-9775: Match up datatypes, alloc node_t, remove ks_dht_bucket.h 2017-01-25 14:59:34 -06:00
Shane Bryldt c8c2dc87f7 FS-9775: Fixed autorouting, must be checked before message generation as the message may include a nodeid that is specific to the endpoint used 2017-01-25 14:59:34 -06:00
Shane Bryldt c22b252ca0 FS-9775: Adjusted ks_dht_nodeid_t back to a structure as you cannot cast raw data to a fixed array 2017-01-25 14:59:34 -06:00
Shane Bryldt 70fcffc48c FS-9775: Refactored some code to create ks_dht_setup_response for reusability 2017-01-25 14:59:34 -06:00
Shane Bryldt 9e5121eb00 FS-9775: Changed local nodeid to be per endpoint, and removed ks_dht_node_t in preparation for changes based on route table discussions 2017-01-25 14:59:34 -06:00
Shane Bryldt 88ee82a380 FS-9775: Removed building of old dht code, renamed new dht code from dht2 to dht 2017-01-25 14:59:34 -06:00
Shane Bryldt 253b808f1b FS-9775: Some refactoring for consistency, reduction of nodeid to simpler type, added preliminary type for node to track externally after discussions on route table responsibilities 2017-01-25 14:59:34 -06:00
Shane Bryldt 4f4656055c FS-9775: Resolved conflicts during merge 2017-01-25 14:59:34 -06:00
colm 0302eca52a FS-9775: Mark suspect and expired nodes. Add to makefile 2017-01-25 14:59:34 -06:00
Shane Bryldt d034968774 FS-9775: Added preliminary support for processing find_nodes query, including calls to compact addresses and node info 2017-01-25 14:59:34 -06:00
Shane Bryldt 3e12cca293 FS-9775: Refactored sending of messages to utilize a more scalable and throttled queue for outgoing messages 2017-01-25 14:59:34 -06:00
colm b51038f618 FS-9775: Match up data types with existing code 2017-01-25 14:59:34 -06:00
Shane Bryldt 7ac7a7e75b FS-9775: Added support for removing finished transactions via latent purging while expiring
Also added support to send error message responses and updated the test to confirm, errors still need to be updated to send an error responses
2017-01-25 14:59:34 -06:00
Shane Bryldt f95ca83b06 FS-9775: Fixed some bugs, unit test now successfully sends, processes, responds, and receives and validates a ping, more on this soon 2017-01-25 14:59:34 -06:00
Shane Bryldt e4176f5873 FS-9775: Initial work towards sending messages, refactored into less headers, test updated 2017-01-25 14:59:33 -06:00
Shane Bryldt d9c1dba85f FS-9775: Removing a file that got added because of a typo on the shell 2017-01-25 14:59:33 -06:00
Shane Bryldt 61e1545e8f FS-9775: Replaced initialization of nodeid to use safer passing through raw fixed size type 2017-01-25 14:59:33 -06:00
Shane Bryldt ed8e4dc610 FS-9775: Renamed registries, added query registry with ping callback, unit test updated 2017-01-25 14:59:33 -06:00
Shane Bryldt e9fdd9c946 FS-9775: Encapsulated message details into ks_dht2_message_t 2017-01-25 14:59:33 -06:00
Shane Bryldt 6eed8d3f94 FS-9775: Added initial registry for 'y' keys, and some unit testing 2017-01-25 14:59:33 -06:00
Shane Bryldt f9ed958ecc FS-9775: Added some preliminary message processing, and unit testing for it 2017-01-25 14:59:33 -06:00
Shane Bryldt 2b3b2ef93d FS-9775: Added initial unit test of preliminary allocation, initialization and binding code 2017-01-25 14:59:33 -06:00
Shane Bryldt d86a8d89a4 FS-9775: Renamed calls *_salloc to *_prealloc 2017-01-25 14:59:33 -06:00
Shane Bryldt b331b72ebe FS-9775: Added salloc calls for other entities
The use of salloc in the main ks_dht_t for the inner nodeid suggests salloc calls
should be renamed prealloc to avoid confusion where not used on stack variables
2017-01-25 14:59:33 -06:00
Shane Bryldt 63d0d8dc4a FS-9775: Added salloc call to dht for stack allocation, passing on the pool
This will be replicated to other allocations
2017-01-25 14:59:33 -06:00
Shane Bryldt d0791961c4 FS-9775: Initial commit of the first portion of the DHT rewrite for peer review
Code compiles, but not yet functional, unit tests to come soon for current code
2017-01-25 14:59:33 -06:00
Anthony Minessale 82b49c30d5 add coding guidelines 2016-12-09 13:59:17 -06:00
Anthony Minessale b6df83dd10 FS-9820 #resolve [Add thread_pool to libks] 2016-12-06 16:46:08 -06:00
Seven Du b26fa6e17c FS-9810 fix ws write fail on slow network 2016-12-04 12:49:46 +08:00
Anthony Minessale a0180288cf FS-9803 #resolve [Add support for arbitrary data as hash keys] 2016-12-01 18:11:52 -06:00
Mike Jerris 7884bee06a FS-9768: [build] don't limit to just clang 2016-11-23 15:05:12 -06:00
Shane Bryldt 198a6debff FS-9767: Fixed the size of the keys to use crypto_sign_XXXXBYTES for proper key size
Also added parsing of identity in message_mutable to force directing test messages
which are now recieved by the designated peer
2016-11-23 20:20:26 +00:00
Shane Bryldt 2d1e0ae275 FS-9766: Added 1 byte to ben_encode output and terminates output 2016-11-23 19:49:48 +00:00
Mike Jerris 3ddaf0f269 cleanup new libks deleted files 2016-11-23 13:29:36 -06:00
Mike Jerris 9fd0b6bd2f update libks 2016-11-23 13:23:33 -06:00