Exemple #1
0
        public void Return(BasicProperties properties)
        {
            if (properties == null)
            {
                throw new ArgumentNullException("properties");
            }
            if (!properties.IsReusable || properties.IsRecycled)
            {
                return;
            }

            _propertiesPool.PutObject(properties);
        }
Exemple #2
0
 internal void GenericRecycler <T>(T item, ObjectPoolArray <T> pool) where T : class
 {
     pool.PutObject(item);
 }
Exemple #3
0
        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();
        }