CS: make replication messages typed, some offload work

This commit is contained in:
Rory&
2026-03-13 06:10:31 +01:00
parent 1e82f2f1f8
commit ad4b342200
16 changed files with 291 additions and 35 deletions
@@ -20,7 +20,7 @@ public class UnixSocketSpacebarReplication(UnixSocketConfiguration conf) : ISpac
};
}
public async Task SendAsync(ReplicationMessage message) {
public async Task SendAsync(ContentlessReplicationMessage message) {
// message format: [uint32be length][payload]
var payload = JsonSerializer.SerializeToUtf8Bytes(message);
byte[] formattedPayload = [..BitConverter.GetBytes(System.Net.IPAddress.HostToNetworkOrder(payload.Length)), ..payload];
@@ -30,6 +30,8 @@ public class UnixSocketSpacebarReplication(UnixSocketConfiguration conf) : ISpac
skv.Value.SendAsync(formattedPayload);
});
}
async Task ISpacebarReplication.SendAsync<TPayload>(ReplicationMessage<TPayload> message) => await SendAsync(message);
}
public class UnixSocketConfiguration {