public static Data From_Bytes(byte[] buffer, int totalLenght) { var data = new Data { Key = BitConverter.ToInt32(buffer, 0), Timestamp = DateTime.FromBinary(BitConverter.ToInt64(buffer, 4)), Version = BitConverter.ToInt32(buffer, 12), Payload = new byte[totalLenght - 20] }; Array.Copy(buffer, 16, data.Payload, 0, totalLenght - 20); return data; }
protected void Write_Data(byte[] value, int key, int version) { var data = new Data { Key = key, Version = version, Payload= value, Timestamp = DateTime.Now }; var address = Data_Pointer(); Data_Stream.Seek(address, SeekOrigin.Begin); var bytes = data.To_Bytes(); Data_Stream.Write(bytes, 0, bytes.Length); _data_Pointer += bytes.Length; }