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)); }
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)); }
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)); }