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  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								666a9602ba 
								
							 
						 
						
							
							
								
								adjust tests to usage of RemoteCacheEntry  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e4d350b8fb 
								
							 
						 
						
							
							
								
								add tests for ASN.1 message encoding and decoding  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								89cc51af52 
								
							 
						 
						
							
							
								
								re-organise protocol definition and create own type for remote cache entries  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								91bb72cb57 
								
							 
						 
						
							
							
								
								fix ASN.1 container parsing  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2f10ea6628 
								
							 
						 
						
							
							
								
								fix parser format inconsistencies  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								28254a9f83 
								
							 
						 
						
							
							
								
								better error handling in ASN.1 message parser  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6dc9650da5 
								
							 
						 
						
							
							
								
								deserialisation of DHT messages  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c9654d66d6 
								
							 
						 
						
							
							
								
								improve encoding documentation and syntax  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								31b73b7667 
								
							 
						 
						
							
							
								
								split FediChord messages into multiple parts for size restrictions  
							
							 
							
							... 
							
							
							
							includes encoding of messages as ASN.1 DER 
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1d8d9a33fd 
								
							 
						 
						
							
							
								
								implement ASN.1 parsing with parser combinators  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								9f16964efc 
								
							 
						 
						
							
							
								
								define data types for DHT messaging  
							
							 
							
							... 
							
							
							
							encoding and parsing functions have been adjusted accordingly 
							
						 
						
							2020-05-17 21:31:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e81a4d23e7 
								
							 
						 
						
							
							
								
								make request and response distinguishable  
							
							 
							
							
							
						 
						
							2020-05-17 21:31:43 +02:00