Example #1
0
            private void UnSubscribeContinuous(ContinuousSecurity security, MarketDataTypes type)
            {
                lock (_continuousSecurities.SyncRoot)
                {
                    var node = _continuousSecurities.Find(new ContinuousInfo(security, type));

                    if (node == null)
                    {
                        return;
                    }

                    var diff = node.Value.Elapsed;
                    var curr = node;

                    while (curr != null)
                    {
                        curr.Value.Elapsed += diff;
                        curr = curr.Next;
                    }

                    _continuousSecurities.Remove(node);

                    if (_continuousSecurities.Count == 0)
                    {
                        _connector.MarketTimeChanged -= ConnectorOnMarketTimeChanged;
                    }
                }
            }
Example #2
0
            private void SubscribeContinuous(ContinuousSecurity security, MarketDataTypes type)
            {
                lock (_continuousSecurities.SyncRoot)
                {
                    var info = new ContinuousInfo(security, type);

                    if (_continuousSecurities.Contains(info))
                    {
                        return;
                    }

                    _continuousSecurities.AddFirst(info);

                    if (_continuousSecurities.Count == 1)
                    {
                        _connector.MarketTimeChanged += ConnectorOnMarketTimeChanged;
                    }
                }
            }