public static void WriteStateVector(IDSEncoder encoder, IDictionary <int, int> sv) { encoder.RestWriter.WriteVarUint((uint)sv.Count); foreach (var kvp in sv) { var client = kvp.Key; var clock = kvp.Value; encoder.RestWriter.WriteVarUint((uint)client); encoder.RestWriter.WriteVarUint((uint)clock); } }
public void Write(IDSEncoder encoder) { encoder.RestWriter.WriteVarUint((uint)Clients.Count); foreach (var kvp in Clients) { var client = kvp.Key; var dsItems = kvp.Value; var len = dsItems.Count; encoder.ResetDsCurVal(); encoder.RestWriter.WriteVarUint((uint)client); encoder.RestWriter.WriteVarUint((uint)len); for (int i = 0; i < len; i++) { var item = dsItems[i]; encoder.WriteDsClock(item.Clock); encoder.WriteDsLength(item.Length); } } }