public byte[] WriteSetToByte(WriteSetLCS source) { var result = U32ToByte((uint)source.WriteSet.Count); foreach (var writeSet in source.WriteSet) { var key = LCSCore.LCSDeserialization(writeSet.Key); result = result.Concat(key).ToArray(); var ops = LCSCore.LCSDeserialization(writeSet.Value); result = result.Concat(ops).ToArray(); } return(result); }
public WriteSetLCS GetWriteSet(byte[] source, ref int cursor) { var retVal = new WriteSetLCS(); retVal.WriteSet = new Dictionary <AccessPathLCS, WriteOpLCS>(); retVal.Length = Read_u32(source, ref cursor); for (int i = 0; i < retVal.Length; i++) { var key = source.LCSerialization <AccessPathLCS>(ref cursor); var value = source.LCSerialization <WriteOpLCS>(ref cursor); retVal.WriteSet.Add(key, value); } return(retVal); }