/// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }