public static (Int32, Byte[][]) EncodeCommandCall(OuterCommandCall commandCall) { var requestMessageBytes = commandCall.CallMessage?.GetPropertiesBytes(); var requestSize = requestMessageBytes?.Length ?? 0; var encodeTemp = new Byte[3 + requestSize][]; encodeTemp[0] = new[] { (Byte)CommandMessageSubtype.Request }; encodeTemp[1] = BitConverter.GetBytes(commandCall.Command.CommandId); encodeTemp[2] = BitConverter.GetBytes(commandCall.CallId); for (Int32 i = 3, k = 0; k < requestSize; i++, k++) { encodeTemp[i] = requestMessageBytes[k]; } return(commandCall.Command.Node, encodeTemp.ToArray()); }
public static CommandReply DecodeReplyFully(CommandReply partialDecodedReply, OuterCommandCall commandCall, Byte[][] msg) { partialDecodedReply.Result = commandCall.Command.MessageWrapper.CreateReply(msg.Skip(3).ToArray()); return(partialDecodedReply); }