public void Return(BasicProperties properties) { if (properties == null) { throw new ArgumentNullException("properties"); } if (!properties.IsReusable || properties.IsRecycled) { return; } _propertiesPool.PutObject(properties); }
internal void GenericRecycler <T>(T item, ObjectPoolArray <T> pool) where T : class { pool.PutObject(item); }
public ConnectionIO(Connection connection) : base(channelNum: 0) { _conn = connection; _socketHolder = new SocketHolder(); _commandOutboxEvent = new AutoResetEvent(false); _waitingServerReply = new ManualResetEventSlim(true); // _commandOutboxEvent = new AutoResetSuperSlimLock(false); _commandOutbox = new ConcurrentQueue <CommandToSend>(); _cmdToSendObjPool = new ObjectPoolArray <CommandToSend>(() => new CommandToSend(i => _cmdToSendObjPool.PutObject(i)), 200, true); _amqpWriter = new AmqpPrimitivesWriter(); _amqpReader = new AmqpPrimitivesReader(); _frameReader = new FrameReader(); }