7f5dac55ea 
								
							 
						 
						
							
							
								
								close   #29 : periodic cache maintenance  
							
							 
							
							... 
							
							
							
							periodically delete expired cache entries, check unverified ones and
potentially use them as neighbour 
							
						 
						
							2020-06-25 01:24:38 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5e8cfb0ccd 
								
							 
						 
						
							
							
								
								mark successfully Pinged nodes as verified  
							
							 
							
							... 
							
							
							
							for #29  
							
						 
						
							2020-06-24 22:27:46 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c9783a10cf 
								
							 
						 
						
							
							
								
								launch stabilise thread  
							
							 
							
							... 
							
							
							
							closes  #44 
although stabilise functionality is still untested 
							
						 
						
							2020-06-24 02:51:39 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								81e346db4e 
								
							 
						 
						
							
							
								
								update responding neighbours and delete unresponding ones from cache  
							
							 
							
							... 
							
							
							
							contributes to #44  
							
						 
						
							2020-06-24 02:48:41 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								16b46a8b0b 
								
							 
						 
						
							
							
								
								add some comments on stabilise  
							
							 
							
							
							
						 
						
							2020-06-24 02:12:21 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								25f44f3a45 
								
							 
						 
						
							
							
								
								look up additional neighbours if necessary  
							
							 
							
							... 
							
							
							
							for #44  
							
						 
						
							2020-06-24 01:19:53 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								111c1a299d 
								
							 
						 
						
							
							
								
								refactored stabilise: use first responding neighbour  
							
							 
							
							... 
							
							
							
							contributes to #44  
							
						 
						
							2020-06-23 19:34:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d5f502c05c 
								
							 
						 
						
							
							
								
								ping potential neighbours before adding to list  
							
							 
							
							... 
							
							
							
							for #44  
							
						 
						
							2020-06-20 22:28:11 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0494ddd696 
								
							 
						 
						
							
							
								
								stabilise periodically  
							
							 
							
							... 
							
							
							
							contributes to #44  
							
						 
						
							2020-06-20 21:24:31 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3482876d9b 
								
							 
						 
						
							
							
								
								send and parse Ping requests  
							
							 
							
							... 
							
							
							
							contributes to #29  #44  
							
						 
						
							2020-06-19 23:03:27 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								00ff2bf071 
								
							 
						 
						
							
							
								
								refactor adding neighbours  
							
							 
							
							
							
						 
						
							2020-06-19 19:15:05 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e898b80762 
								
							 
						 
						
							
							
								
								Merge branch 'refactorSuccessorsPredecessors' into dhtNetworking  
							
							 
							
							
							
						 
						
							2020-06-19 18:31:39 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3f42f98443 
								
							 
						 
						
							
							
								
								adjust lookup to RingMap,  fix   #48  
							
							 
							
							... 
							
							
							
							- change default lookup result when not joined to FOUND
- fix determining own responsibility #48 
- adjust tests 
							
						 
						
							2020-06-18 23:08:20 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								da0b8626cb 
								
							 
						 
						
							
							
								
								critical bug fix: use target ID for predecessor query lookup  
							
							 
							
							
							
						 
						
							2020-06-18 23:06:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f27812bcf3 
								
							 
						 
						
							
							
								
								give up on providing type signature for takeEntriesUntil  
							
							 
							
							
							
						 
						
							2020-06-17 15:13:49 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								43e4ab184e 
								
							 
						 
						
							
							
								
								adjust cache entry insertion to usage of RingMap  
							
							 
							
							... 
							
							
							
							#48  
							
						 
						
							2020-06-17 14:53:36 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fb164dea0a 
								
							 
						 
						
							
							
								
								fix instance declaration of RingMap  
							
							 
							
							
							
						 
						
							2020-06-17 14:32:26 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								7e08250f8c 
								
							 
						 
						
							
							
								
								refactor setting successors and predecessors  
							
							 
							
							
							
						 
						
							2020-06-17 14:29:30 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2269357ed0 
								
							 
						 
						
							
							
								
								deleting RingMap entries, list conversion  
							
							 
							
							
							
						 
						
							2020-06-17 02:21:37 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6142ee61d7 
								
							 
						 
						
							
							
								
								WIP: implement adding, setting and taking RingMap entries.  
							
							 
							
							... 
							
							
							
							contributes to #48  
							
						 
						
							2020-06-16 23:51:53 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								22a6becf6b 
								
							 
						 
						
							
							
								
								fix all previously working tests  
							
							 
							
							
							
						 
						
							2020-06-15 16:41:11 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								061bce2b08 
								
							 
						 
						
							
							
								
								adjust types to refactored RingMap NodeCache  
							
							 
							
							
							
						 
						
							2020-06-15 15:14:11 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6a98b5c6da 
								
							 
						 
						
							
							
								
								fix RingMap function types  
							
							 
							
							
							
						 
						
							2020-06-15 13:53:06 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b179357ab0 
								
							 
						 
						
							
							
								
								generalise NodeCache implementation to make it usable for neighbour nodes as well  
							
							 
							
							... 
							
							
							
							contributes to #48  
							
						 
						
							2020-06-13 21:41:32 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								7612f5532a 
								
							 
						 
						
							
							
								
								create a test for parts of  #48  
							
							 
							
							
							
						 
						
							2020-06-13 14:56:05 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2739b47162 
								
							 
						 
						
							
							
								
								send stabilise to certain successor or predecessor  
							
							 
							
							
							
						 
						
							2020-06-12 15:49:12 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1204457a2a 
								
							 
						 
						
							
							
								
								make sure that predecessors are smaller and successors are larger than node ID  
							
							 
							
							
							
						 
						
							2020-06-10 16:53:17 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2c98d8507d 
								
							 
						 
						
							
							
								
								implement stabilise request sending and parsing  
							
							 
							
							... 
							
							
							
							contributes to #44  
							
						 
						
							2020-06-09 22:11:42 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f15d83baff 
								
							 
						 
						
							
							
								
								Refactor predecessors and successors to hold RemoteNodeStates  
							
							 
							
							... 
							
							
							
							- neighbour nodes need to be contacted reliably
- Only holding NodeIDs requires a cache lookup for getting hostname and
  port. This is brittle as the entry could've been purged from cache.
- refactored ASN.1 scheme, types and add/ sort/ remove implementations
closes  #46  
							
						 
						
							2020-06-09 15:21:22 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								67cba1b69b 
								
							 
						 
						
							
							
								
								fixup! rename responseTo -> requestID to avoid partial record accessors  
							
							 
							
							
							
						 
						
							2020-06-08 23:18:12 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4e359775ec 
								
							 
						 
						
							
							
								
								add some debug output prints  
							
							 
							
							
							
						 
						
							2020-06-08 20:31:22 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2c827ea326 
								
							 
						 
						
							
							
								
								rename responseTo -> requestID to avoid partial record accessors  
							
							 
							
							
							
						 
						
							2020-06-08 20:31:18 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3892dc91aa 
								
							 
						 
						
							
							
								
								Merge branch 'mainline' into dhtNetworking  
							
							 
							
							
							
						 
						
							2020-06-08 18:58:23 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								7c87a578d3 
								
							 
						 
						
							
							
								
								move Main executable to app/  closes   #18  
							
							 
							
							
							
						 
						
							2020-06-08 18:57:53 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6699237243 
								
							 
						 
						
							
							
								
								respond to and handle QueryID requests  
							
							 
							
							... 
							
							
							
							closes  #28  
							
						 
						
							2020-06-08 00:36:59 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								eec751584c 
								
							 
						 
						
							
							
								
								make setPredecessors and setSuccessors enforce the ordering + size limit  
							
							 
							
							... 
							
							
							
							closes  #47  
							
						 
						
							2020-06-07 23:45:28 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0a9b0547c6 
								
							 
						 
						
							
							
								
								forgot handling the successors and predecessors of the leaving node  
							
							 
							
							... 
							
							
							
							contributes to #28  
							
						 
						
							2020-06-07 00:21:14 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e00da9b84f 
								
							 
						 
						
							
							
								
								respond to and handle Leave requests  
							
							 
							
							... 
							
							
							
							contributes to #28  
							
						 
						
							2020-06-06 18:02:55 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								53308080db 
								
							 
						 
						
							
							
								
								respond to Stabilise requests  
							
							 
							
							
							
						 
						
							2020-06-06 17:31:20 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								43d72128d2 
								
							 
						 
						
							
							
								
								respond to Ping requests  
							
							 
							
							
							
						 
						
							2020-06-06 17:05:54 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								cb769e088f 
								
							 
						 
						
							
							
								
								add test for serialiseMessage part numbering  
							
							 
							
							
							
						 
						
							2020-06-06 13:45:35 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e32f0c9146 
								
							 
						 
						
							
							
								
								process and respond to join requests  
							
							 
							
							... 
							
							
							
							- serialiseMessage now starts numbering parts from the first number it
  gets, to be able to continue responding after having ACKed previous
  parts
contributes to #28  
							
						 
						
							2020-06-06 13:45:18 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								914e07a412 
								
							 
						 
						
							
							
								
								change NodeCache protection to STM  
							
							 
							
							... 
							
							
							
							- putting the NodeCache behind an IORef had been chose because those
  could've been read non-blocking
- the same is true for TVars. The performance characteristics are likely
  worse, but at the advantage of composability within STM monads 
							
						 
						
							2020-06-05 22:07:47 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								dc2e399d64 
								
							 
						 
						
							
							
								
								protect concurrent node state access with STM  
							
							 
							
							... 
							
							
							
							- for allowing concurrent access to predecessors and successors, the
  whole LocalNodeState is passed wrapped into an STM TVar
- this allows keeping the tests for the mostly pure data type, compared
  to protecting only the successor and predecessor list
contributes to #28  
							
						 
						
							2020-06-04 22:31:41 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f42dfb2137 
								
							 
						 
						
							
							
								
								dispatch incoming requests to their response functions  
							
							 
							
							... 
							
							
							
							- contributes to #28  
							
						 
						
							2020-06-04 14:48:05 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								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