Пример #1
0
 private EndpointAddressProcessor CreateProcessor(int length)
 {
     if (this.processorPool.Target != null)
     {
         lock (this.processorPool)
         {
             object target = this.processorPool.Target;
             if (target != null)
             {
                 EndpointAddressProcessor processor = (EndpointAddressProcessor)target;
                 this.processorPool.Target = processor.Next;
                 processor.Next            = null;
                 processor.Clear(length);
                 return(processor);
             }
         }
     }
     return(new EndpointAddressProcessor(length));
 }
        private EndpointAddressProcessor CreateProcessor(int length)
        {
            EndpointAddressProcessor processor = null;

            lock (this.processorPool)
            {
                ProcessorPool <TFilterData> target = this.processorPool.Target as ProcessorPool <TFilterData>;
                if (target != null)
                {
                    processor = target.Pop();
                }
            }
            if (processor != null)
            {
                processor.Clear(length);
                return(processor);
            }
            return(new EndpointAddressProcessor(length));
        }
Пример #3
0
        EndpointAddressProcessor CreateProcessor(int length)
        {
            if (this.processorPool.Target != null)
            {
                lock (this.processorPool)
                {
                    object o = this.processorPool.Target;
                    if (o != null)
                    {
                        EndpointAddressProcessor p = (EndpointAddressProcessor)o;
                        this.processorPool.Target = p.Next;
                        p.Next = null;
                        p.Clear(length);
                        return(p);
                    }
                }
            }

            return(new EndpointAddressProcessor(length));
        }
Пример #4
0
        EndpointAddressProcessor CreateProcessor(int length)
        {
            EndpointAddressProcessor p = null;

            lock (this.processorPool)
            {
                ProcessorPool pool = this.processorPool.Target as ProcessorPool;
                if (null != pool)
                {
                    p = pool.Pop();
                }
            }

            if (null != p)
            {
                p.Clear(length);
                return(p);
            }

            return(new EndpointAddressProcessor(length));
        }