/// <summary> /// Parse the auxiliary buffer payload of session. /// </summary> /// <param name="s">An stream of auxiliary buffer payload of session</param> public override void Parse(Stream s) { base.Parse(s); this.AUX_HEADER = new AUX_HEADER(); this.AUX_HEADER.Parse(s); AuxiliaryBlockType_1 type1; AuxiliaryBlockType_2 type2; if (this.AUX_HEADER.Version == PayloadDataVersion.AUX_VERSION_1) { type1 = (AuxiliaryBlockType_1)this.AUX_HEADER.Type; switch (type1) { case AuxiliaryBlockType_1.AUX_TYPE_ENDPOINT_CAPABILITIES: { AUX_ENDPOINT_CAPABILITIES auxiliaryBlock = new AUX_ENDPOINT_CAPABILITIES(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_CLIENT_CONNECTION_INFO: { AUX_CLIENT_CONNECTION_INFO auxiliaryBlock = new AUX_CLIENT_CONNECTION_INFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_PROTOCOL_DEVICE_IDENTIFICATION: { AUX_PROTOCOL_DEVICE_IDENTIFICATION auxiliaryBlock = new AUX_PROTOCOL_DEVICE_IDENTIFICATION(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_SERVER_SESSION_INFO: { AUX_SERVER_SESSION_INFO auxiliaryBlock = new AUX_SERVER_SESSION_INFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_CLIENT_CONTROL: { AUX_CLIENT_CONTROL auxiliaryBlock = new AUX_CLIENT_CONTROL(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_EXORGINFO: { AUX_EXORGINFO auxiliaryBlock = new AUX_EXORGINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_OSVERSIONINFO: { AUX_OSVERSIONINFO auxiliaryBlock = new AUX_OSVERSIONINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_ACCOUNTINFO: { AUX_PERF_ACCOUNTINFO auxiliaryBlock = new AUX_PERF_ACCOUNTINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_BG_DEFGC_SUCCESS: { AUX_PERF_DEFGC_SUCCESS auxiliaryBlock = new AUX_PERF_DEFGC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_BG_DEFMDB_SUCCESS: { AUX_PERF_DEFMDB_SUCCESS auxiliaryBlock = new AUX_PERF_DEFMDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_BG_FAILURE: { AUX_PERF_FAILURE auxiliaryBlock = new AUX_PERF_FAILURE(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_BG_GC_SUCCESS: { AUX_PERF_GC_SUCCESS auxiliaryBlock = new AUX_PERF_GC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_BG_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS auxiliaryBlock = new AUX_PERF_MDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_CLIENTINFO: { AUX_PERF_CLIENTINFO auxiliaryBlock = new AUX_PERF_CLIENTINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_DEFGC_SUCCESS: { AUX_PERF_DEFGC_SUCCESS auxiliaryBlock = new AUX_PERF_DEFGC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_DEFMDB_SUCCESS: { AUX_PERF_DEFMDB_SUCCESS auxiliaryBlock = new AUX_PERF_DEFMDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FAILURE: { AUX_PERF_FAILURE auxiliaryBlock = new AUX_PERF_FAILURE(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FG_DEFGC_SUCCESS: { AUX_PERF_DEFGC_SUCCESS auxiliaryBlock = new AUX_PERF_DEFGC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FG_DEFMDB_SUCCESS: { AUX_PERF_DEFMDB_SUCCESS auxiliaryBlock = new AUX_PERF_DEFMDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FG_FAILURE: { AUX_PERF_FAILURE auxiliaryBlock = new AUX_PERF_FAILURE(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FG_GC_SUCCESS: { AUX_PERF_GC_SUCCESS auxiliaryBlock = new AUX_PERF_GC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_FG_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS auxiliaryBlock = new AUX_PERF_MDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_GC_SUCCESS: { AUX_PERF_GC_SUCCESS auxiliaryBlock = new AUX_PERF_GC_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS auxiliaryBlock = new AUX_PERF_MDB_SUCCESS(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_PROCESSINFO: { AUX_PERF_PROCESSINFO auxiliaryBlock = new AUX_PERF_PROCESSINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_REQUESTID: { AUX_PERF_REQUESTID auxiliaryBlock = new AUX_PERF_REQUESTID(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_SERVERINFO: { AUX_PERF_SERVERINFO auxiliaryBlock = new AUX_PERF_SERVERINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_1.AUX_TYPE_PERF_SESSIONINFO: { AUX_PERF_SESSIONINFO auxiliaryBlock = new AUX_PERF_SESSIONINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } default: this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); break; } } else if (this.AUX_HEADER.Version == PayloadDataVersion.AUX_VERSION_2) { type2 = (AuxiliaryBlockType_2)this.AUX_HEADER.Type; switch (type2) { case AuxiliaryBlockType_2.AUX_TYPE_PERF_BG_FAILURE: { AUX_PERF_FAILURE_V2 auxiliaryBlock = new AUX_PERF_FAILURE_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_BG_GC_SUCCESS: { AUX_PERF_GC_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_GC_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_BG_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_MDB_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_FAILURE: { AUX_PERF_FAILURE_V2 auxiliaryBlock = new AUX_PERF_FAILURE_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_FG_FAILURE: { AUX_PERF_FAILURE_V2 auxiliaryBlock = new AUX_PERF_FAILURE_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_FG_GC_SUCCESS: { AUX_PERF_GC_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_GC_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_FG_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_MDB_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_GC_SUCCESS: { AUX_PERF_GC_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_GC_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_MDB_SUCCESS: { AUX_PERF_MDB_SUCCESS_V2 auxiliaryBlock = new AUX_PERF_MDB_SUCCESS_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_PROCESSINFO: { AUX_PERF_PROCESSINFO auxiliaryBlock = new AUX_PERF_PROCESSINFO(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } case AuxiliaryBlockType_2.AUX_TYPE_PERF_SESSIONINFO: { AUX_PERF_SESSIONINFO_V2 auxiliaryBlock = new AUX_PERF_SESSIONINFO_V2(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } default: this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); break; } } else { this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); } }
/// <summary> /// Parse the auxiliary buffer payload of the session. /// </summary> /// <param name="s">A stream of auxiliary buffer payload of the session.</param> public override void Parse(Stream s) { base.Parse(s); this.AUX_HEADER = new AUX_HEADER(); this.AUX_HEADER.Parse(s); AuxiliaryBlockType_1 type1; AuxiliaryBlockType_2 type2; if (this.AUX_HEADER.Version == PayloadDataVersion.AUX_VERSION_1) { type1 = (AuxiliaryBlockType_1)this.AUX_HEADER.Type; switch (type1) { case AuxiliaryBlockType_1.AUX_TYPE_ENDPOINT_CAPABILITIES: { AUX_ENDPOINT_CAPABILITIES auxiliaryBlock = new AUX_ENDPOINT_CAPABILITIES(); auxiliaryBlock.Parse(s); this.AuxiliaryBlock = auxiliaryBlock; break; } default: this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); break; } } else if (this.AUX_HEADER.Version == PayloadDataVersion.AUX_VERSION_2) { type2 = (AuxiliaryBlockType_2)this.AUX_HEADER.Type; switch (type2) { case AuxiliaryBlockType_2.AUX_TYPE_PERF_BG_FAILURE: break; default: this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); break; } } else { this.AuxiliaryBlock = ReadBytes((int)this.AUX_HEADER.Size - 4); } }