aboutsummaryrefslogtreecommitdiff
path: root/keyserver/producers
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-07-30 11:15:46 +0100
committerGitHub <noreply@github.com>2020-07-30 11:15:46 +0100
commit9355fb5ac8c911bdbde6dcc0f279f716d8a8f60b (patch)
treec6a155f7b65e25c8ab4abaf7413fbb0531a02b12 /keyserver/producers
parent0fdd4f14d123e76bd3d0368947d3aab84a787946 (diff)
Hook up device list updates to the sync notifier (#1231)
* WIP hooking up key changes * Fix import cycle, get tests passing and binary compiling * Linting and update whitelist
Diffstat (limited to 'keyserver/producers')
-rw-r--r--keyserver/producers/keychange.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/keyserver/producers/keychange.go b/keyserver/producers/keychange.go
index d59dd200..c51d9f55 100644
--- a/keyserver/producers/keychange.go
+++ b/keyserver/producers/keychange.go
@@ -31,6 +31,15 @@ type KeyChange struct {
DB storage.Database
}
+// DefaultPartition returns the default partition this process is sending key changes to.
+// NB: A keyserver MUST send key changes to only 1 partition or else query operations will
+// become inconsistent. Partitions can be sharded (e.g by hash of user ID of key change) but
+// then all keyservers must be queried to calculate the entire set of key changes between
+// two sync tokens.
+func (p *KeyChange) DefaultPartition() int32 {
+ return 0
+}
+
// ProduceKeyChanges creates new change events for each key
func (p *KeyChange) ProduceKeyChanges(keys []api.DeviceKeys) error {
for _, key := range keys {