/// <inheritdoc/> private void EncodeBinary(IEncoder encoder) { encoder.WriteUInt32(nameof(MessageContentMask), MessageContentMask); encoder.WriteString(nameof(DataSetWriterId), DataSetWriterId); if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.SequenceNumber) != 0) { encoder.WriteUInt32(nameof(UadpDataSetMessageContentMask.SequenceNumber), SequenceNumber); } if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.MajorVersion) != 0) { encoder.WriteUInt32(nameof(UadpDataSetMessageContentMask.MajorVersion), MetaDataVersion.MajorVersion); } if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.MinorVersion) != 0) { encoder.WriteUInt32(nameof(UadpDataSetMessageContentMask.MinorVersion), MetaDataVersion.MinorVersion); } if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.Timestamp) != 0) { encoder.WriteDateTime(nameof(UadpDataSetMessageContentMask.Timestamp), Timestamp); } if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.PicoSeconds) != 0) { encoder.WriteUInt32(nameof(UadpDataSetMessageContentMask.PicoSeconds), Picoseconds); } if ((MessageContentMask & (uint)UadpDataSetMessageContentMask.Status) != 0) { encoder.WriteStatusCode(nameof(Status), Status); } if (Payload != null) { var payload = new KeyDataValuePairCollection(); foreach (var tuple in Payload) { payload.Add(new KeyDataValuePair() { Key = tuple.Key, Value = tuple.Value }); } encoder.WriteEncodeableArray(nameof(Payload), payload.ToArray(), typeof(KeyDataValuePair)); } }
/// <summary> /// Encode as json /// </summary> /// <param name="encoder"></param> private void EncodeJson(IEncoder encoder) { if ((MessageContentMask & (uint)JsonDataSetMessageContentMask.DataSetWriterId) != 0) { encoder.WriteString(nameof(JsonDataSetMessageContentMask.DataSetWriterId), DataSetWriterId); } if ((MessageContentMask & (uint)JsonDataSetMessageContentMask.SequenceNumber) != 0) { encoder.WriteUInt32(nameof(JsonDataSetMessageContentMask.SequenceNumber), SequenceNumber); } if ((MessageContentMask & (uint)JsonDataSetMessageContentMask.MetaDataVersion) != 0) { encoder.WriteEncodeable(nameof(JsonDataSetMessageContentMask.MetaDataVersion), MetaDataVersion, typeof(ConfigurationVersionDataType)); } if ((MessageContentMask & (uint)JsonDataSetMessageContentMask.Timestamp) != 0) { encoder.WriteDateTime(nameof(JsonDataSetMessageContentMask.Timestamp), Timestamp); } if ((MessageContentMask & (uint)JsonDataSetMessageContentMask.Status) != 0) { encoder.WriteStatusCode(nameof(JsonDataSetMessageContentMask.Status), Status); } if (Payload != null) { var payload = new KeyDataValuePairCollection(); foreach (var tuple in Payload) { payload.Add(new KeyDataValuePair() { Key = tuple.Key, Value = tuple.Value }); } encoder.WriteEncodeableArray(nameof(Payload), payload.ToArray(), typeof(KeyDataValuePair)); } }