Trolli Schmittlauch
ab9d593a1b
bugfix: fix wrong partial Response sender access
...
- replaces improper record field access of `sender`, only existing in a
Request, by `senderID` of a Response
- fixes the resulting exception-crash
- adds new function that enqueues a verification mark and timestamp bump
of an existing cache entry
2020-08-27 00:27:36 +02:00
Trolli Schmittlauch
f1b15d5a9e
bugfix: fix join by adding join node and waiting for it
...
- additionally to adding neighbours of join node, add the join node
itself as a neighbour as well
- wait for migrations from the node
2020-08-26 17:43:32 +02:00
Trolli Schmittlauch
fc8aa3e330
bugfix: properly process QueryID responses so FOUND is conserved
...
fixes dproper discovery of announced responsibility by FOUND
2020-08-25 22:01:01 +02:00
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
32734102cd
improve documentation of clientPublishPost
2020-08-20 18:13:50 +02:00
Trolli Schmittlauch
2548b6a507
automatically subscribe when publishing to a tag
2020-08-20 11:49:23 +02:00
Trolli Schmittlauch
fce5ff9153
implement service data migration for stabilise
2020-08-18 00:19:21 +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
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
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
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