Example #1
0
        /// <summary>
        /// Add an Instruction to the collection of Instructions contained within this MetaInstruction
        /// </summary>
        /// <param name="instruction">Instruction to add to the collection</param>
        public virtual void AddInstruction(IBREPipelineInstruction instruction)
        {
            if (instructionCollection == null)
            {
                instructionCollection = new SortedList <int, IBREPipelineInstruction>();
            }

            TraceManager.PipelineComponent.TraceInfo("{0} - Adding Instruction {1} to the Instruction collection with a key of {2}.", callToken, instruction.ToString(), instructionCollection.Count);
            instructionCollection.Add(instructionCollection.Count, instruction);
        }
Example #2
0
        public virtual void ResetInstructionPriorityToEndOfQueue(int oldKey)
        {
            if (instructionCollection == null)
            {
                return;
            }

            if (!instructionCollection.ContainsKey(oldKey))
            {
                return;
            }

            IBREPipelineInstruction instruction = instructionCollection[oldKey];

            TraceManager.PipelineComponent.TraceInfo("{0} - Setting instruction collection entry {1} which currently contains a {2} to null.", callToken, oldKey, instruction.ToString());
            instructionCollection[oldKey] = null;
            AddInstruction(instruction);
        }