protected override void DoNetworkRead(BinaryReader reader) { CmppEncodings encoding = CmppEncodings.ASCII; this.Id = reader.NetworkReadUInt64(); this.ReceiverId = reader.NetworkReadString(21, encoding); this.ServiceId = reader.NetworkReadString(10, encoding); this.TPPId = reader.NetworkReadByte(); this.TPUdhi = reader.NetworkReadByte(); this.Format = reader.NetworkReadByte(); this.ServiceTerminalId = reader.NetworkReadString(32, encoding); this.ServiceTerminalType = reader.NetworkReadByte(); this.DeliveryReportRequired = reader.NetworkReadByte(); this.ContentByteCount = reader.NetworkReadByte(); if (this.DeliveryReportRequired == 0) { this.Content = reader.NetworkReadString((int)this.ContentByteCount, (CmppEncodings)this.Format); } else { var buffer = reader.NetworkReadBytes((int)this.ContentByteCount); this.Content = Convert.ToBase64String(buffer, 0, buffer.Length); } this.LinkId = reader.NetworkReadString(20, encoding); }
public static string NetworkReadString(this BinaryReader reader, int count, CmppEncodings encoding) { return(reader.NetworkReadString(count, GetEncoding(encoding))); }
public static void CalculateContentByteCount(this CmppMessageDeliver message, CmppEncodings encoding) { var byteCount = GetEncoding(encoding).GetByteCount(message.Content); message.ContentByteCount = (byte)byteCount; }
public static void NetworkWrite(this BinaryWriter writer, string value, int count, CmppEncodings encoding) { writer.NetworkWrite(value, count, GetEncoding(encoding)); }
public static Encoding GetEncoding(CmppEncodings encoding) { return(Encoders[encoding]); }