Trolli Schmittlauch schmittlauch
  • Joined on 2017-06-16
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-23 00:10:08 +02:00
5fedd9f87c specify post relay API endpoints
e2ecf0739d maybeEmpty can be replaced by Data.List.listToMaybe
Compare 2 commits »
schmittlauch opened issue schmittlauch/Hash2Pub#61 2020-07-16 02:12:15 +02:00
verify instance IP address
schmittlauch closed issue schmittlauch/Hash2Pub#24 2020-07-16 00:24:55 +02:00
Caching layer for DHT node responsibility resolution
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-16 00:24:55 +02:00
ebc0d54ddc periodically purge lookup cache of expired entries
0ea5402231 improve documentation exports
Compare 2 commits »
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-15 01:45:01 +02:00
c37fe88b35 store and initialise lookup cache
42af6afb86 generalise CacheEntry type
Compare 2 commits »
schmittlauch commented on issue schmittlauch/Hash2Pub#24 2020-07-15 01:02:05 +02:00
Caching layer for DHT node responsibility resolution
  • input: key ID to look up

  • output: hostname, servicePort

    • returning the whole RemoteNodeState would be more future proof in case some other information like node ID were needed
    • but this helps providing a clean interface cut and enforce connection via hostname only
  • caching behaviour:

    • for concurrency: similar to NodeCache handling
    • data structure: tree map (Data.Map.Strict)
    • cache hit: check age, if expired trigger new lookup in DHT (requestQueryID) and schedule update, else return cached entry
    • cache miss: trigger new lookup (requestQueryID) and insert result into cache
    • cleaning: periodic cleaning is needed against atttacker triggering a cache fill up by requesting a large number of random hashtags just once
      • check on each access vs. short cleaning duration
schmittlauch closed issue schmittlauch/Hash2Pub#31 2020-07-14 18:56:55 +02:00
planning of experiments
schmittlauch opened issue schmittlauch/Hash2Pub#60 2020-07-14 18:55:25 +02:00
proper measurement logging
schmittlauch opened issue schmittlauch/Hash2Pub#59 2020-07-14 18:54:04 +02:00
instrumentation script
schmittlauch opened issue schmittlauch/Hash2Pub#58 2020-07-14 18:53:29 +02:00
select, plan and sample test data
schmittlauch commented on issue schmittlauch/Hash2Pub#11 2020-07-14 18:52:47 +02:00
testbed
  • first only do a test run with 3 hardcoded nodes
  • on success select random nodes, autogenerate testbed configuration and run tests
schmittlauch closed issue schmittlauch/Hash2Pub#3 2020-07-14 18:49:27 +02:00
write a concurrent test program
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-14 13:40:25 +02:00
8ade04e48d disable online package fetching, only starts to work with cabal 3.4 and needs to be renamed then
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-11 19:51:17 +02:00
7fa6db81de make sure send sockets are bound to the correct local IP
schmittlauch pushed to master at schmittlauch/paper_hashtag_federation 2020-07-09 02:21:47 +02:00
44e7d8c3cd remove broken hashtag counting from Twitter data dump parsing script
schmittlauch closed issue schmittlauch/Hash2Pub#56 2020-07-08 01:22:18 +02:00
Periodically sample own ID through a random botstrapping node for convergence
schmittlauch closed issue schmittlauch/Hash2Pub#1 2020-07-08 01:22:18 +02:00
Implement Epichord DHT
schmittlauch pushed to mainline at schmittlauch/Hash2Pub 2020-07-08 01:22:18 +02:00
384be969b7 Merge branch 'dhtNetworking' into mainline
61ea6ed3ff Periodically contact bootstrap nodes for convergence sampling or joining
56ca2b53cc refactor trying to join on any bootstrap node into own function
d293cc05d1 data structure for RealNode holds common config and management data
df7423ce2e fixup! iteration limit for QueryID lookups
Compare 93 commits »
schmittlauch closed issue schmittlauch/Hash2Pub#20 2020-07-08 01:22:17 +02:00
Refactor common accessor functions of internal and remote NodeState to a type class with 2 types
schmittlauch closed issue schmittlauch/Hash2Pub#52 2020-07-08 01:22:17 +02:00
investigate possible infinite recursion in requestQueryId