0660bce299 
								
							 
						 
						
							
							
								
								acknowledge parts when receiving partial requests  
							
							 
							
							
							
						 
						
							2020-05-31 23:21:55 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								88104de9bf 
								
							 
						 
						
							
							
								
								periodically purge request parts  
							
							 
							
							
							
						 
						
							2020-05-31 21:07:40 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								bcd1c34c7c 
								
							 
						 
						
							
							
								
								manage incoming request parts before handling  
							
							 
							
							
							
						 
						
							2020-05-31 01:14:09 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2542091379 
								
							 
						 
						
							
							
								
								adjust rest of code to new message structure  
							
							 
							
							
							
						 
						
							2020-05-30 13:52:06 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f8d444d5b6 
								
							 
						 
						
							
							
								
								FediChordMessage: last part has falg instead of parts number in each msg  
							
							 
							
							... 
							
							
							
							Motivation: Including the number of parts in each message part requires
the total number of parts to be known in advance, making dynamic
responses based on the received data difficult 
							
						 
						
							2020-05-30 13:07:28 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fea9660f80 
								
							 
						 
						
							
							
								
								WIP: start implementing incoming request handling  
							
							 
							
							
							
						 
						
							2020-05-30 01:10:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								61818c58a9 
								
							 
						 
						
							
							
								
								main server thread structure  
							
							 
							
							
							
						 
						
							2020-05-29 17:39:35 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b4ecf8b0aa 
								
							 
						 
						
							
							
								
								catch and handle more join errors  
							
							 
							
							
							
						 
						
							2020-05-27 23:37:32 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6ff765c63e 
								
							 
						 
						
							
							
								
								catch and handle bootstrap join errors  
							
							 
							
							
							
						 
						
							2020-05-27 18:59:38 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								27e5c5f9ce 
								
							 
						 
						
							
							
								
								bracket all socket-using operations to avoid resource leakage  
							
							 
							
							
							
						 
						
							2020-05-27 18:08:46 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b1c5c5e5f4 
								
							 
						 
						
							
							
								
								try all bootstrap nodes until successfully joined  
							
							 
							
							
							
						 
						
							2020-05-26 20:54:02 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								702684b1a9 
								
							 
						 
						
							
							
								
								split fediChordJoin into general purpose and bootstrapping part  
							
							 
							
							
							
						 
						
							2020-05-26 11:02:29 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								43eb04dfea 
								
							 
						 
						
							
							
								
								preliminary passing of bootstrap nodes in Main to fediChordJoin  
							
							 
							
							
							
						 
						
							2020-05-26 09:39:02 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ad1465c5fe 
								
							 
						 
						
							
							
								
								use global cache adding function  
							
							 
							
							
							
						 
						
							2020-05-26 08:55:44 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e3bfa26ddb 
								
							 
						 
						
							
							
								
								join request + large FediChord refactoring  
							
							 
							
							... 
							
							
							
							- implement sending of initial join request sending, response parsing
  and cache population (untested but compiles)
- refactor basic types and their functions into Hash2Pub.FediChordTypes
  to prevent import loops, leaving Hash2Pub.FediChord to contain the
  high level actions called from Main 
							
						 
						
							2020-05-25 22:03:24 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d5841d13fd 
								
							 
						 
						
							
							
								
								extract queryID message sending function so it can be used for first join  
							
							 
							
							
							
						 
						
							2020-05-22 22:12:38 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e8091b0a29 
								
							 
						 
						
							
							
								
								change all function definitions to new NodeState types  
							
							 
							
							... 
							
							
							
							- adjust implementation
contributes to #20  
							
						 
						
							2020-05-21 23:48:36 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fe673dc255 
								
							 
						 
						
							
							
								
								make NodeState a typeclasse, define setters and getters on its representations  
							
							 
							
							... 
							
							
							
							contributes to #20  
							
						 
						
							2020-05-21 23:40:10 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								99a2b0ba09 
								
							 
						 
						
							
							
								
								add instance deriving instructions  
							
							 
							
							
							
						 
						
							2020-05-20 19:27:51 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f6c252d314 
								
							 
						 
						
							
							
								
								sending a queryID request compiles (untested)  
							
							 
							
							
							
						 
						
							2020-05-20 18:55:24 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								beffab99a0 
								
							 
						 
						
							
							
								
								clarify counting of FediChordMessage parts  
							
							 
							
							
							
						 
						
							2020-05-19 19:50:36 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c31baa3635 
								
							 
						 
						
							
							
								
								run stylish  
							
							 
							
							
							
						 
						
							2020-05-19 17:55:40 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								8d18f952cd 
								
							 
						 
						
							
							
								
								implement send-receive-acknowledge-retry loop for requests  
							
							 
							
							
							
						 
						
							2020-05-19 17:53:13 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0e6f126b3b 
								
							 
						 
						
							
							
								
								Merge branch 'master' into dhtNetworking  
							
							 
							
							
							
						 
						
							2020-05-19 16:51:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								84bcd676ae 
								
							 
						 
						
							
							
								
								move protocol data definitions to own module to prevent cyclic imports  
							
							 
							
							
							
						 
						
							2020-05-19 16:30:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								41e999ed99 
								
							 
						 
						
							
							
								
								Linting integration  
							
							 
							
							... 
							
							
							
							This commit brings in an HLint configuration file
and several recommended modifications such as:
* End-of-line extra spaces removal;
* Import lines ordering;
* Redundant $ removal;
* Generalisation of ++ and map to <> and fmap;
* Preferring `pure` over `return`;
* Removing extraenous extensions.
And finally, a `stylish-haskell` helper script
that detects if code files are dirty. Can be useful for CI,
although manually calling it can be nice if you would rather
first implement then beautify. 
							
						 
						
							2020-05-19 12:42:06 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								60c164dbb0 
								
							 
						 
						
							
							
								
								remove unnecessary directory level  
							
							 
							
							
							
						 
						
							2020-05-19 00:01:32 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								8b01ad2f37 
								
							 
						 
						
							
							
								
								remove unnecessary directory level  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								21fef145a0 
								
							 
						 
						
							
							
								
								working project structure with tests  
							
							 
							
							... 
							
							
							
							- restructured project again: splitting into executable and Hash2Pub
  library
- placeholder test file is successfully compiled and run 
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								30cfed81ea 
								
							 
						 
						
							
							
								
								restructure nix development environment, now with Hoogle  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6329f815d1 
								
							 
						 
						
							
							
								
								Initial packaging as a Cabal package, in preparation for  #2  
							
							 
							
							... 
							
							
							
							- also restructures shell.nix to parse cabal file instead of directly
  specifying dependencies 
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3b3ee09575 
								
							 
						 
						
							
							
								
								fix Haddock documentation, contrinutes to  #8  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								08932cf80a 
								
							 
						 
						
							
							
								
								selectively export only needed constructors  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4a89ffe25a 
								
							 
						 
						
							
							
								
								improve documentation, contributes to  #8  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3f9452ab7e 
								
							 
						 
						
							
							
								
								choose and implement data structures for node state and cache  
							
							 
							
							
							
						 
						
							2020-02-27 22:10:57 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ce4cc385b8 
								
							 
						 
						
							
							
								
								rename whole project and make DHT implementation as a project specific module  
							
							 
							
							
							
						 
						
							2020-02-26 14:11:33 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6c5faa4fc6 
								
							 
						 
						
							
							
								
								rename DHT implementation as it deviates from the EpiChord paper  
							
							 
							
							
							
						 
						
							2020-02-24 22:56:03 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e83710f10b 
								
							 
						 
						
							
							
								
								Start implementing the Epichord DHT: NodeID type  
							
							 
							
							
							
						 
						
							2020-02-24 21:53:47 +01:00