Trolli Schmittlauch
b23201a49c
Make key lookups fail after request exhaustion instead of providing default
...
Returning the own node as a default does not make sense in all contexts:
Especially for bootstrap joining this can be harmful, so signalling
instead that the lookup failed makes distinguishing on a case by case
basis possible.
Also contributes to #57
2020-08-25 12:51:33 +02:00
Trolli Schmittlauch
6c5e40f8ad
fix wrong passing of arguments in receive-loop part checking
2020-08-24 15:28:06 +02:00
Trolli Schmittlauch
3bd4cb667d
explicitly pass socket in send-receive-loop
2020-08-24 10:02:45 +02:00
Trolli Schmittlauch
4ba592d8a2
bugfix: DHT request timeout unit is milliseconds
2020-08-23 15:21:24 +02:00
Trolli Schmittlauch
cd8ea07600
bugfix: make unjoined nodes consider all IDs to be their responsibility
2020-08-23 13:04:58 +02:00
Trolli Schmittlauch
2b418189a6
use hard-coded defaults for DHT request timeout and retries
2020-08-23 12:06:26 +02:00
Trolli Schmittlauch
c3b1aad1c7
abstract away the hashtag -> NodeID conversion
2020-08-21 23:55:20 +02:00
Trolli Schmittlauch
75c1932ef6
send fetchable post URIs as ID
2020-08-21 23:47:42 +02:00
Trolli Schmittlauch
5511026c8d
reduce logging verbosity
2020-08-21 14:40:29 +02:00
Trolli Schmittlauch
f330ff1070
successful post publishing with MonadState and random relay selection
2020-08-21 12:31:50 +02:00
Trolli Schmittlauch
32734102cd
improve documentation of clientPublishPost
2020-08-20 18:13:50 +02:00
Trolli Schmittlauch
70145bc544
bump nixpkgs revision
2020-08-20 15:59:04 +02:00
Trolli Schmittlauch
24088581fe
bump nixpkgs revision
2020-08-20 15:58:35 +02:00
Trolli Schmittlauch
2548b6a507
automatically subscribe when publishing to a tag
2020-08-20 11:49:23 +02:00
Trolli Schmittlauch
2ee40a7f64
start working on the experiment runner #59
2020-08-19 15:49:39 +02:00
Trolli Schmittlauch
b48251d29d
Merge branch 'data_migration': closes #36
...
this simple implementation still contains minor design issues, for which
tickets have been filed though
2020-08-18 12:05:55 +02:00
Trolli Schmittlauch
fce5ff9153
implement service data migration for stabilise
2020-08-18 00:19:21 +02:00
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