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 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								96e61b726f 
								
							 
						 
						
							
							
								
								adjust hlint hints to ignore lambda-case  
							
							
							
						 
						
							2020-05-29 21:30:18 +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 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								16769d1395 
								
							 
						 
						
							
							
								
								Merge branch 'refactorNodeState' into dhtNetworking  
							
							... 
							
							
							
							closes  #20  
						
							2020-05-22 00:06:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								bbe7078369 
								
							 
						 
						
							
							
								
								adjust tests to work with new NodeState types  
							
							... 
							
							
							
							closes  #20  
						
							2020-05-22 00:05:23 +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 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b8eeb852da 
								
							 
						 
						
							
							
								
								Merge pull request 'Linting integration' ( #17 ) from Hecate/Hash2Pub:hlint-configuration into master  
							
							... 
							
							
							
							Introduce some code formatting guidelines and enforce them with hlint and stylish:
- 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. 
							
						 
						
							2020-05-19 16:35:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								7fd369c8c5 
								
							 
						 
						
							
							
								
								add stylish as haskell linter  
							
							
							
						 
						
							2020-05-19 16:33:00 +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 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d049b65f1e 
								
							 
						 
						
							
							
								
								add readme  
							
							
							
						 
						
							2020-05-19 00:01:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								60c164dbb0 
								
							 
						 
						
							
							
								
								remove unnecessary directory level  
							
							
							
						 
						
							2020-05-19 00:01:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4e62bb08f8 
								
							 
						 
						
							
							
								
								add readme  
							
							
							
						 
						
							2020-05-18 23:59:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fdd4efe269 
								
							 
						 
						
							
							
								
								fixed tests  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								8b01ad2f37 
								
							 
						 
						
							
							
								
								remove unnecessary directory level  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a30a221477 
								
							 
						 
						
							
							
								
								more test fixes  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b8be20b86e 
								
							 
						 
						
							
							
								
								begin implementation of message sending  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								895606d542 
								
							 
						 
						
							
							
								
								make tests compile again (do not pass yet)  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c304e2103f 
								
							 
						 
						
							
							
								
								allow messages without payload for ACKing  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2b234d65db 
								
							 
						 
						
							
							
								
								prepare sending of queryID messages  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ff1e530a26 
								
							 
						 
						
							
							
								
								function for updating CacheEntry timestamp and mark as verified  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f5d0777cc4 
								
							 
						 
						
							
							
								
								writer thread for processing all cache modification through a queue  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5810c14b26 
								
							 
						 
						
							
							
								
								encapsulate NodeCache into IORef and initilise queue for writes  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0682bf4bad 
								
							 
						 
						
							
							
								
								create local server socket  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								906cdc67c3 
								
							 
						 
						
							
							
								
								initialise own node state, preliminary config passing  
							
							
							
						 
						
							2020-05-17 21:31:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1e870d1b13 
								
							 
						 
						
							
							
								
								clarify size of vserverID  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a2fb664c4f 
								
							 
						 
						
							
							
								
								switch back to pinned NixOS 20.03 stable branch for environment  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ec869593f6 
								
							 
						 
						
							
							
								
								notes about message length and MTUs  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e5db06a680 
								
							 
						 
						
							
							
								
								move limit of message parts to a global constant  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6ed441403d 
								
							 
						 
						
							
							
								
								basic test for whether message splitting works  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ca383420a6 
								
							 
						 
						
							
							
								
								fix off-by-one error in message splitting  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0d91452641 
								
							 
						 
						
							
							
								
								add tests for serialising and deserialising messages  
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00