Trolli Schmittlauch
969f6d7fc2
fix tests
2020-08-17 13:39:22 +02:00
Trolli Schmittlauch
6982a0b245
indicate in LeaveRequest whether to expect a migration
...
this information is used to decide whether to await an incoming
migration in `respondLeave`
2020-08-17 12:36:02 +02:00
Trolli Schmittlauch
b8cedada48
prevent threads not awaiting migration from blocking their response
2020-08-17 11:37:04 +02:00
Trolli Schmittlauch
c49c1a89c9
wait for migration to complete on join
...
also clean up migration entry after success
2020-08-17 00:22:48 +02:00
Trolli Schmittlauch
414564705a
possibility to wait for a migration to complete
2020-08-16 23:26:31 +02:00
Trolli Schmittlauch
581757965a
trigger service data migration at join
2020-08-16 17:53:56 +02:00
Trolli Schmittlauch
470ce6f39a
correct the slice of transfered tags at leave
2020-08-15 23:58:47 +02:00
Trolli Schmittlauch
4302452d18
implement vserver leave and trigger data transfer initiation
...
still unused though
contributes to #36
2020-08-15 22:56:16 +02:00
Trolli Schmittlauch
d2e4359a21
rename join function to clarify it just joining a single vserver
2020-08-15 17:37:14 +02:00
Trolli Schmittlauch
8db8907163
filter out spoofed requests for important operations like Join, Leave, Stabilise
2020-08-15 17:19:53 +02:00
Trolli Schmittlauch
5f7ca23f71
add missing leave request sending function
2020-08-14 22:59:28 +02:00
Trolli Schmittlauch
0ecad38748
merge implemented mock relay service API
...
closes #32 #41
2020-08-14 11:29:50 +02:00
Trolli Schmittlauch
4339cace20
function for initially publishing a post
2020-08-14 11:06:58 +02:00
Trolli Schmittlauch
bf277c5a73
unsubsribe from tag
2020-08-13 23:50:33 +02:00
Trolli Schmittlauch
402378a78b
signal and handle non-responsibility to subscriptions
2020-08-13 23:44:24 +02:00
Trolli Schmittlauch
e646045ab2
include port in Origin header
2020-08-13 21:57:28 +02:00
Trolli Schmittlauch
e9ae258dde
subscribe to tag
2020-08-13 21:12:39 +02:00
Trolli Schmittlauch
375014812a
use a shared HTTP manager for requests
2020-08-13 19:05:38 +02:00
Trolli Schmittlauch
bdb00a32f3
add nix shell environment without HIE for smaller foot print
2020-08-13 13:09:48 +02:00
Trolli Schmittlauch
dcd4a7b563
add nix shell environment without HIE for smaller foot print
2020-08-13 13:08:38 +02:00
Trolli Schmittlauch
580410e0b4
simple post fetch worker thread
2020-08-13 13:07:50 +02:00
Trolli Schmittlauch
c1ce386b65
send prepared subscriptions and clean up on success
2020-08-12 15:23:10 +02:00
Trolli Schmittlauch
2e88a4079b
extract and build subscriber payload for sending
2020-08-12 14:07:19 +02:00
Trolli Schmittlauch
1d808b6776
fix typo
2020-08-12 12:16:20 +02:00
Trolli Schmittlauch
1258f673da
flush responsibility cache and retry in post queue delivery
2020-08-12 12:07:41 +02:00
Trolli Schmittlauch
96c1963a4f
actually check own responsibility for tags before accepting posts
2020-08-11 00:16:10 +02:00
Trolli Schmittlauch
7036867ae0
implemented first Servant client query
2020-08-03 22:50:48 +02:00
Trolli Schmittlauch
20e51ecca4
define API client functions
2020-08-02 14:59:03 +02:00
Trolli Schmittlauch
8faa9dc016
fix test by providing a MockService
2020-08-01 18:58:49 +02:00
Trolli Schmittlauch
89706f688a
server endpoint for tag unsubscription
2020-08-01 11:18:16 +02:00
Trolli Schmittlauch
7280f251b5
server endpoint for tag subscription
2020-08-01 11:00:38 +02:00
Trolli Schmittlauch
7d7fa3b52a
fix haddock parsing
2020-07-31 17:49:52 +02:00
Trolli Schmittlauch
50044673a6
server endpoint for tag-post delivery
2020-07-31 17:46:33 +02:00
Trolli Schmittlauch
e3c7faa80b
properly initialise RealNode with service and vserver data, set up reference
2020-07-31 16:54:19 +02:00
Trolli Schmittlauch
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
Trolli Schmittlauch
4bf8091143
fix type signature of fediChordInit
2020-07-30 01:30:42 +02:00
Trolli Schmittlauch
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
Trolli Schmittlauch
da47f8062f
add lease time to subscription entries
2020-07-29 23:06:07 +02:00
Trolli Schmittlauch
ad52a017aa
add relay inbox endpoint
2020-07-29 22:15:14 +02:00
Trolli Schmittlauch
bd70e2dff0
implement multiple post fetch (with placeholder content)
2020-07-29 00:06:27 +02:00
Trolli Schmittlauch
63bc06a88e
implement post fetch (with placeholder content)
2020-07-28 23:45:21 +02:00
Trolli Schmittlauch
970c94ff0d
set up subscription data structures and transfer subscription endpoint
2020-07-28 23:17:26 +02:00
Trolli Schmittlauch
3b65757406
worker thread for processing incoming posts in background, started together with web server
2020-07-28 02:12:15 +02:00
Trolli Schmittlauch
736815ea83
normalise hastag unicode representation of incoming posts
2020-07-27 21:49:49 +02:00
Trolli Schmittlauch
daae9d0b38
process and enqueue incoming posts
2020-07-27 21:39:49 +02:00
Trolli Schmittlauch
04423171fd
define data types for post and subscription storage
2020-07-27 13:20:15 +02:00
Trolli Schmittlauch
7878c67635
adjust rest of code to refactored RingMap
2020-07-27 00:37:31 +02:00
Trolli Schmittlauch
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
Trolli Schmittlauch
6349e05033
enable HIE only in the shell environment, but not by default
2020-07-26 16:38:56 +02:00
Trolli Schmittlauch
473ccb631d
add hie as language server to dev environment
2020-07-26 16:26:26 +02:00