Microsoft.Protocols.TestSuites.SharedAdapter.FsshttpbCellSubRequest.SerializeToByteList C# (CSharp) Method

SerializeToByteList() public method

This method is used to convert the element into a byte List
public SerializeToByteList ( ) : List
return List
        public virtual List<byte> SerializeToByteList()
        {
            // Request ID bytes
            List<byte> requestIDBytes = (new Compact64bitInt(this.RequestID)).SerializeToByteList();
            
            // Request Type bytes
            List<byte> requestTypeBytes = (new Compact64bitInt(this.RequestType)).SerializeToByteList();
            
            // Priority bytes
            List<byte> priorityBytes = (new Compact64bitInt(this.Priority)).SerializeToByteList();

            // Sub-request Start bytes
            int subRequstStartLength = requestIDBytes.Count + requestTypeBytes.Count + priorityBytes.Count;
            this.SubRequestStart = new StreamObjectHeaderStart32bit(StreamObjectTypeHeaderStart.SubRequest, subRequstStartLength);

            List<byte> byteList = new List<byte>();
            
            // Sub-request Start
            byteList.AddRange(this.SubRequestStart.SerializeToByteList());
            
            // Request ID
            byteList.AddRange(requestIDBytes);
            
            // Request Type
            byteList.AddRange(requestTypeBytes);
            
            // Priority
            byteList.AddRange(priorityBytes);

            // Target partition ID
            if (this.IsPartitionIDGUIDUsed)
            {
                this.PartitionIdGUIDStart = new StreamObjectHeaderStart32bit(StreamObjectTypeHeaderStart.TargetPartitionId, 16);
                byteList.AddRange(this.PartitionIdGUIDStart.SerializeToByteList());
                byteList.AddRange(this.PartitionIdGUID.ToByteArray());

                this.PartitionIdGUIDEnd = new StreamObjectHeaderEnd16bit(StreamObjectTypeHeaderEnd.TargetPartitionId);
                byteList.AddRange(this.PartitionIdGUIDEnd.SerializeToByteList());
            }

            return byteList;
        }