f5de7601bb
do not store published posts for reducing memory consumption
2020-09-16 13:49:26 +02:00
a2f268d374
improve logging: line buffering, time stamps
...
contributes to #60
2020-09-16 01:54:50 +02:00
bb17b136d6
increase stabilise interval
2020-09-16 01:54:40 +02:00
c036dea7f9
periodically purge expired subscriptions
2020-09-14 15:49:44 +02:00
a0e7142a7d
report number of subscriptions
2020-09-14 14:57:25 +02:00
3c28cde942
catch and print all Socket bind exceptions
2020-09-12 15:45:03 +02:00
1fc264a226
manage logging via file handle
...
reason: `appendFile` combined with lazy evaluation lead to exhaustion of
open file descriptors, as each file is opened again for each write and
due to lazy evaluation is kept open multiple times.
2020-09-12 12:37:41 +02:00
da579a0756
decrease logging verbosity
2020-09-11 00:39:14 +02:00
e12d8ef70a
properly format stats log numbers: no e-notation
2020-09-11 00:39:14 +02:00
0f9727c05a
log the post rates instead of the absolute sums
2020-09-10 22:41:06 +02:00
34ecdd66e1
make stats measurement delay configurable, take speedup into account
2020-09-10 21:23:33 +02:00
8f917130c4
tag normalisation includes lower case conversion
2020-09-10 13:14:48 +02:00
3ac89d301c
bugfix: subscribe as default if not subscribed yet, when posting to a tag
2020-09-10 13:14:23 +02:00
3c76544afb
launch background worker threads
2020-09-10 12:00:17 +02:00
f8d30d0cc4
report post fetches to statistics
2020-09-09 19:55:34 +02:00
620e998876
report incoming relay posts to statistics
2020-09-09 19:25:48 +02:00
85d10f6773
report published posts to statistics
2020-09-09 18:50:55 +02:00
e3a8912360
process incoming posts in parallel
2020-09-09 18:50:45 +02:00
12fcd13754
annotate the PostService server/ request-handler functions
2020-09-09 18:01:51 +02:00
72eca0f4fe
log metrics to file
...
contributes to #60
2020-09-09 17:22:20 +02:00
0ffe9effc0
refactor relay processing to STM-retry instead of busy-wait
2020-09-09 14:24:34 +02:00
2b39648a77
actually implement simple relaying of posts
...
was still missing for #41
2020-09-09 11:51:09 +02:00
df479982fa
make RingMap instance of Functor and Foldable
2020-09-08 08:46:36 +02:00
c536994afe
re-format Servant client pattern matching
2020-09-07 16:35:59 +02:00
5c338b9cd7
split up stats summing and evaluating, launch threads
2020-09-07 16:27:56 +02:00
c823e6357a
accumulate all statistic/ measurement events to a measurement summary
...
- RingMap can now be mapped over
2020-09-07 13:00:15 +02:00
4d2d6faf1b
Merge pull request 'Improve general readability' ( #69 ) from Hecate/Hash2Pub:readability into mainline
...
brings several readability enhancements:
- Text is always unqualified
- The Servant API declaration is moved to its own file
- Redundant imports are removed
2020-09-05 16:27:23 +02:00
Hécate
7d833e064b
Improve readability
2020-09-05 15:45:47 +02:00
fa78c6fc43
clarify different nix-shell environments in readme
2020-09-05 15:01:46 +02:00
Hécate
d3e5eac5c5
Unsused imports and syntax error
2020-09-05 12:41:18 +02:00
60f5780742
Merge branch 'measurement_logging' into mainline
...
more values are parametrised through FediChordConfig
2020-09-05 12:31:40 +02:00
c9b0e66110
scale request timeout with speedup and pass it directly to function
2020-09-05 12:30:31 +02:00
4f08d33d2e
make all delays configurable and scale them according to a speedup factor
2020-09-05 12:30:31 +02:00
20050654bc
make passing bootstrap information optional
...
reason: allow the first node to start without having to wait for a
timeout
part of #58
2020-09-03 11:20:38 +02:00
59beb3441f
instrumentation script executes the prepared schedule
...
- reads CSV schedule from file
- sends the given schedule of post events
- not thoroughly tested yet
implements #59
2020-09-02 21:37:01 +02:00
1aee41db88
enable compiler optimisation
2020-08-31 13:37:40 +02:00
3c1652d86d
prototype instrumentation of periodically sending posts to a test setup of 3 nodes
...
- contributes to #59
2020-08-27 12:01:08 +02:00
1b5fc039b3
Merge branch 'fix_networking': fix some DHT joins and crashes
...
several major flaws in the basic DHT communication had been discovered,
see individual commits for details
2020-08-27 00:39:08 +02:00
1a962f1500
stylish run
2020-08-27 00:33:19 +02:00
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
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
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
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
6c5e40f8ad
fix wrong passing of arguments in receive-loop part checking
2020-08-24 15:28:06 +02:00
3bd4cb667d
explicitly pass socket in send-receive-loop
2020-08-24 10:02:45 +02:00
4ba592d8a2
bugfix: DHT request timeout unit is milliseconds
2020-08-23 15:21:24 +02:00
cd8ea07600
bugfix: make unjoined nodes consider all IDs to be their responsibility
2020-08-23 13:04:58 +02:00
2b418189a6
use hard-coded defaults for DHT request timeout and retries
2020-08-23 12:06:26 +02:00
c3b1aad1c7
abstract away the hashtag -> NodeID conversion
2020-08-21 23:55:20 +02:00
75c1932ef6
send fetchable post URIs as ID
2020-08-21 23:47:42 +02:00