public TryParse ( Stream s ) : |
||
s | Stream | An stream containing CompactUnsigned64bitInteger structure. |
리턴 |
/// <summary> /// Parse the FsshttpbSubResponse structure. /// </summary> /// <param name="s">An stream containing FsshttpbSubResponse structure.</param> public override void Parse(Stream s) { base.Parse(s); this.SubResponseStart = new bit32StreamObjectHeaderStart(); this.SubResponseStart.Parse(s); this.RequestID = new CompactUnsigned64bitInteger(); this.RequestID = RequestID.TryParse(s); this.RequestType = new CompactUnsigned64bitInteger(); this.RequestType = RequestType.TryParse(s); byte tempByte = ReadByte(); this.Status = GetBits(tempByte, 0, 1); this.Reserved = GetBits(tempByte, 1, 7); if (this.Status == 0x1) { this.ResponseError = new ResponseError(); this.ResponseError.Parse(s); } else { if (this.RequestType.GetUint(RequestType) == 0x01) { this.SubResponseData = new QueryAccessResponse(); ((QueryAccessResponse)this.SubResponseData).Parse(s); } else if (this.RequestType.GetUint(RequestType) == 0x02) { this.SubResponseData = new QueryChangesResponse(); ((QueryChangesResponse)this.SubResponseData).Parse(s); } else if (this.RequestType.GetUint(RequestType) == 0x05) { this.SubResponseData = new PutChangesResponse(); ((PutChangesResponse)this.SubResponseData).Parse(s); } else if (this.RequestType.GetUint(RequestType) == 0x0B) { this.SubResponseData = new AllocateExtendedGUIDRange(); ((AllocateExtendedGUIDRange)this.SubResponseData).Parse(s); } } this.SubResponseEnd = new bit16StreamObjectHeaderEnd(); this.SubResponseEnd.Parse(s); }