Commit Graph

888 Commits

Author SHA1 Message Date
Alex e8d750175d Implement ring comparison algorithm 2020-04-16 17:04:28 +02:00
Alex f01c1e71b5 Begin work on sync... 2020-04-16 14:50:49 +02:00
Alex 43ce5e4ab4 Fix table RPC to not be interruptible 2020-04-12 23:05:53 +02:00
Alex 2bea76ce16 Small refactorings 2020-04-12 22:24:53 +02:00
Alex 9f8b3b5a18 TLS for command line client 2020-04-12 19:41:19 +02:00
Alex c788fc9f9e Cleanup 2020-04-12 19:18:31 +02:00
Alex d2814b5c33 TLS works \o/
So, the issues were:
- webpki does not support IP addresses as DNS names in URLs,
  so I hacked the HttpsConnector to always provide a fixed string
  as the DNS name for server certificate validation
- the certificate requied a SAN section which was complicated to build
  but eventually the solution is there in genkeys.sh
2020-04-12 19:00:30 +02:00
Alex d1e8f78b2c Trying to do TLS 2020-04-12 15:51:19 +02:00
Alex 5967c5a5af Refactor a bit 2020-04-12 13:03:55 +02:00
Alex 419c70e506 fixes
- make block_put call uninterruptible by client
- used meta_replication_factor instead of data_replication_factor
- listen on ipv6
2020-04-12 12:10:33 +02:00
Alex 9c931f5eda Keep network status & ring in a tokio::sync::watch
advantages
- reads don't prevent preparing writes
- can be followed from other parts of the system by cloning the receiver
2020-04-11 23:53:32 +02:00
Alex 5dd59e437d Local refcounting of blocks 2020-04-11 23:00:26 +02:00
Alex dcf58499a4 table::insert_many, version_table::updated 2020-04-11 19:43:29 +02:00
Alex 53289b69e5 Background task runner that replaces tokio::spawn 2020-04-11 18:51:11 +02:00
Alex 4a2624b76a We don't want the debugging to fail, actually. 2020-04-10 23:43:35 +02:00
Alex cf8fd948fc Add block ref table 2020-04-10 23:11:52 +02:00
Alex ff4fb97568 (Try to) disable LTO ? 2020-04-10 22:55:01 +02:00
Alex a50f07dfdc Refactor 2020-04-10 22:26:48 +02:00
Alex 3477864142 Fix the Sync issue. Details:
So the HTTP client future of Hyper is not Sync, thus the stream
that read blocks wasn't either. However Hyper's default Body type
requires a stream to be Sync for wrap_stream. Solution: reimplement
a custom HTTP body type.
2020-04-10 22:01:48 +02:00
Alex d66c0d6833 Why is it not Sync?? 2020-04-09 23:45:07 +02:00
Alex a3eb88e601 Locally, transactions 2020-04-09 20:58:39 +02:00
Alex 1d786c2c66 Something works 2020-04-09 18:43:53 +02:00
Alex 101444abb3 Some progress 2020-04-09 17:32:28 +02:00
Alex 4c1aee42d5 Reorganize table API 2020-04-09 16:16:27 +02:00
Alex a450103ed0 Work & TODO 2020-04-08 23:47:34 +02:00
Alex cc580da0ae Some work 2020-04-08 23:01:49 +02:00
Alex bacc76a057 Some work in actually storing things 2020-04-08 22:00:41 +02:00
Alex d50edcdb4f Basic workflow for client PUT, next is do actual storage 2020-04-08 00:39:07 +02:00
Alex 90cdffb425 custom data type for hashes and identifiers 2020-04-07 18:10:20 +02:00
Alex 82b7fcd280 Config management & ring 2020-04-07 17:00:48 +02:00
Alex 061e676136 Refactor; ability to update network config 2020-04-07 16:26:22 +02:00
Alex 46d5b896e8 Fix pinging 2020-04-07 00:00:43 +02:00
Alex a7b85146fe Forgot to recalculate hash at strategic locations 2020-04-06 23:10:54 +02:00
Alex a09f019cc5 Seems to be fixed 2020-04-06 22:54:03 +02:00
Alex 87f2b4d2fc Ununderstandable error 2020-04-06 22:27:51 +02:00
Alex 3c36b449a3 Some work 2020-04-06 21:02:15 +02:00
Alex 1a5e6e39af Some more basic work 2020-04-06 19:55:39 +02:00
Alex 7102db1d54 First commit: skeleton for something great 2020-04-05 23:33:42 +02:00