public virtual List <char[]> GetBytes() { var ret = new List <char[]>(); ret.Add(ConversionUtil.GetBytes(Message)); return(ret); }
public List <char[]> GetBytes() { List <char[]> ret = new List <char[]>(); //String comm = Enum.GetName(Command.GetType(), Command); String patron = "{0:D" + MAX_OPCODE_LENGTH + "}"; String commonHeader = Command + String.Format(patron, OpCode); List <char[]> payloads = Payload.GetBytes(); foreach (var item in payloads) { int length = item.Length; // Console.WriteLine( ConversionUtil.GetString(item)); String frame = commonHeader + String.Format("{0:D" + MAX_LENGTH_LENGTH + "}", length); char[] tmp = new char[frame.Length + length]; char[] framArr = ConversionUtil.GetBytes(frame); for (int i = 0; i < framArr.Length; i++) { tmp[i] = framArr[i]; } for (int i = 0; i < item.Length; i++) { tmp[framArr.Length + i] = item[i]; } ret.Add(tmp); } return(ret); }
public override List <char[]> GetBytes() { int destinationLength = Destination.Length == 0 ? 0 : 1 + Destination.Length; string destinationStr = (destinationLength > 0 ? (Destination + SEPARATOR) : ("NONE" + SEPARATOR)); int NEW_MAX_CHUNK = MAX_CHUNK - destinationLength; var ret = new List <char[]>(); if (Message.Length < NEW_MAX_CHUNK) { String subFrame = String.Format("{0:D" + SIZES_LENGTH + "}" + SEPARATOR + "{1:D" + SIZES_LENGTH + "}" + SEPARATOR + destinationStr, 1, 1); ret.Add(ConversionUtil.GetBytes(subFrame + Message)); } else { int parts = (Message.Length) / NEW_MAX_CHUNK; int rest = (Message.Length) % NEW_MAX_CHUNK; if (rest > 0) { parts++; } for (int i = 0; i < parts; i++) { String subFrame = String.Format("{0:D" + SIZES_LENGTH + "}" + SEPARATOR + "{1:D" + SIZES_LENGTH + "}" + SEPARATOR + destinationStr, parts, i + 1); if (Message.Length - i * NEW_MAX_CHUNK > NEW_MAX_CHUNK) { ret.Add(ConversionUtil.GetBytes(subFrame + Message.Substring(i * NEW_MAX_CHUNK, NEW_MAX_CHUNK))); } else { ret.Add(ConversionUtil.GetBytes(subFrame + Message.Substring(i * NEW_MAX_CHUNK, Message.Length - i * NEW_MAX_CHUNK))); } } } return(ret); }