This morning I was struggling with how to write some Datashards code, and I decided to make a diagram. When I did, the complexity began to melt away when I started adding two new abstractions. Suddenly everything fit nicely.



No one but me will need to now any of this- users of the library won't need to know or care, but there's a Store, which is a collection of data. Stores connect to Clients via Transports (HTTP, or Bluetooth, or filesystem, LevelDB, or whatever).

Clients may also need to be future proof through accepting multiple Suites.

Adding this "Transport" abstraction cleans up the way both Stores connect to other stores, and Clients connect to stores.

· · Web · 0 · 0 · 3
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!