示例#1
0
        private static void AddOrUpdateImpl(
            List<OrderRecord> orders,
            OrderRecord order,
            UpdateLastUpdateTime updateLastUpdateTime)
        {
            var removed = RemoveOrderImpl(orders, order);

            Debug.Assert(!(updateLastUpdateTime == UpdateLastUpdateTime.No && removed == null));

            if (updateLastUpdateTime == UpdateLastUpdateTime.No && removed != null)
            {
                order.LastUpdateTime = removed.LastUpdateTime;
            }
            orders.Add(order);
        }
示例#2
0
        private static void AddOrUpdateImpl(
            List <OrderRecord> orders,
            OrderRecord order,
            UpdateLastUpdateTime updateLastUpdateTime)
        {
            var removed = RemoveOrderImpl(orders, order);

            Debug.Assert(!(updateLastUpdateTime == UpdateLastUpdateTime.No && removed == null));

            if (updateLastUpdateTime == UpdateLastUpdateTime.No && removed != null)
            {
                order.LastUpdateTime = removed.LastUpdateTime;
            }
            orders.Add(order);
        }
示例#3
0
 private void AddOrUpdateOrder(
     OrderRecord order,
     UpdateLastUpdateTime updateLastUpdateTime)
 {
     if (order.Side == MarketSide.Bid)
     {
         lock (_bidsLock)
         {
             AddOrUpdateImpl(_bids, order, updateLastUpdateTime);
             _bids.Sort();
         }
     }
     else
     {
         lock (_asksLock)
         {
             AddOrUpdateImpl(_asks, order, updateLastUpdateTime);
             _asks.Sort();
         }
     }
 }
示例#4
0
 private void AddOrUpdateOrder(
     OrderRecord order,
     UpdateLastUpdateTime updateLastUpdateTime)
 {
     if (order.Side == MarketSide.Bid)
     {
         lock (_bidsLock)
         {
             AddOrUpdateImpl(_bids, order, updateLastUpdateTime);
             _bids.Sort();
         }
     }
     else
     {
         lock (_asksLock)
         {
             AddOrUpdateImpl(_asks, order, updateLastUpdateTime);
             _asks.Sort();
         }
     }
 }