Commit graph

318 commits

Author SHA1 Message Date
50044673a6 server endpoint for tag-post delivery 2020-07-31 17:46:33 +02:00
e3c7faa80b properly initialise RealNode with service and vserver data, set up reference 2020-07-31 16:54:19 +02:00
5ffe1b074e add reference from RealNode to Service
This required to make both RealNode(STM) and LocalNodeState(STM) parameterisable
polymorphic types
2020-07-30 02:19:52 +02:00
4bf8091143 fix type signature of fediChordInit 2020-07-30 01:30:42 +02:00
98ca0ff13e service config, integrate service launch into DHT launch
TODO: hold a reference from DHT to service
2020-07-30 01:23:03 +02:00
da47f8062f add lease time to subscription entries 2020-07-29 23:06:07 +02:00
ad52a017aa add relay inbox endpoint 2020-07-29 22:15:14 +02:00
bd70e2dff0 implement multiple post fetch (with placeholder content) 2020-07-29 00:06:27 +02:00
63bc06a88e implement post fetch (with placeholder content) 2020-07-28 23:45:21 +02:00
970c94ff0d set up subscription data structures and transfer subscription endpoint 2020-07-28 23:17:26 +02:00
3b65757406 worker thread for processing incoming posts in background, started together with web server 2020-07-28 02:12:15 +02:00
736815ea83 normalise hastag unicode representation of incoming posts 2020-07-27 21:49:49 +02:00
daae9d0b38 process and enqueue incoming posts 2020-07-27 21:39:49 +02:00
04423171fd define data types for post and subscription storage 2020-07-27 13:20:15 +02:00
7878c67635 adjust rest of code to refactored RingMap 2020-07-27 00:37:31 +02:00
988144e9e7 further relax constrains on RingMap
key now needs to be explicitly given at insert, instead of
deriving it from the value. This makes it possible to store values where
a key cannot be extracted from (HasKeyID)

contributes to #62, #32, #41
2020-07-26 18:55:55 +02:00
6349e05033 enable HIE only in the shell environment, but not by default 2020-07-26 16:38:56 +02:00
473ccb631d add hie as language server to dev environment 2020-07-26 16:26:26 +02:00
91ac4ca7e1 Merge pull request 'refactorRingMap' (#63) from refactorRingMap into mainline
This PR likely enables too many LanguageExtensions and could possibly be simplified, see 63.

Merging this for now though as tests run through fine.
2020-07-26 00:07:53 +02:00
1dfa7a5b8e Merge commit 'd55c2f1f1b' into mainline 2020-07-26 00:02:36 +02:00
0d1551261b adjust code to refactored and parameterisable RingMap
is a bit ugly due to FlexibleContexts being neede at several places
2020-07-25 23:59:48 +02:00
9a20a60222 fix type constraints after RingMap refactor 2020-07-25 23:59:48 +02:00
1ff540fd68 refactor RingMap into own module 2020-07-25 23:59:48 +02:00
d55c2f1f1b define typeclasses for interfacing between PostService and DHT 2020-07-25 23:59:40 +02:00
da1b8f4b9d define typeclasses for interfacing between PostService and DHT 2020-07-25 23:54:27 +02:00
1a085f2fe0 define typeclasses for interfacing between PostService and DHT 2020-07-25 01:53:59 +02:00
c05544aa5b able to start a web server and run the mock API handlers
contributes to #41, #32
2020-07-23 18:29:52 +02:00
f1697e5fd7 re-structure post API, placeholder handlers
contributes to #41, #32
2020-07-23 16:25:14 +02:00
5fedd9f87c specify post relay API endpoints
contributes to #41, #32
2020-07-23 00:09:45 +02:00
e2ecf0739d maybeEmpty can be replaced by Data.List.listToMaybe 2020-07-22 02:56:30 +02:00
ebc0d54ddc periodically purge lookup cache of expired entries
closes #24
2020-07-16 00:24:44 +02:00
0ea5402231 improve documentation exports 2020-07-15 01:48:27 +02:00
c37fe88b35 store and initialise lookup cache
contributes to #24
2020-07-15 01:44:47 +02:00
42af6afb86 generalise CacheEntry type
contributes to #24
2020-07-15 01:32:37 +02:00
8ade04e48d disable online package fetching, only starts to work with cabal 3.4 and needs to be renamed then 2020-07-14 13:40:13 +02:00
7fa6db81de make sure send sockets are bound to the correct local IP 2020-07-11 19:51:03 +02:00
384be969b7 Merge branch 'dhtNetworking' into mainline
closes #1 #3
2020-07-08 01:19:54 +02:00
61ea6ed3ff Periodically contact bootstrap nodes for convergence sampling or joining
closes #56
2020-07-08 01:18:53 +02:00
56ca2b53cc refactor trying to join on any bootstrap node into own function
contributes to #56
2020-07-07 18:07:25 +02:00
d293cc05d1 data structure for RealNode holds common config and management data
contributes to #56, #34, #2
2020-07-07 17:36:12 +02:00
df7423ce2e fixup! iteration limit for QueryID lookups 2020-07-05 18:18:51 +02:00
e91f317a8e decrease logging verbosity 2020-07-05 16:52:09 +02:00
7c17e3a44d implement join-retry on new cache entries
closes #42
2020-07-05 16:48:57 +02:00
bdb92411c6 iteration limit for QueryID lookups
- closes #52
2020-07-02 03:34:40 +02:00
e06c53ff7c stylish fixes 2020-07-02 01:38:51 +02:00
edf66e1b51 add som debug prints 2020-07-02 01:36:31 +02:00
f6481996d7 Change default response to QueryID for unjoined nodes
reason: allow unjoined nodes to find bootstrap node in local cache,
while always advertising itself to incoming requests for bootstrapping.
2020-07-02 00:54:14 +02:00
8d349212b4 prevent cache invariant querying when not joined 2020-07-01 18:24:33 +02:00
abbe664ca1 fixup! make sure that own node isn't added as neighbour 2020-06-30 00:26:26 +02:00
eab5a73ead make sure that own node isn't added as neighbour 2020-06-29 13:42:39 +02:00