示例#1
0
 public static void UnSubscribe(string instrumentID, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         DoUnsub(instrumentID, receiver);
     }
 }
示例#2
0
 public static void UnSubscribe(string instrumentID, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         DoUnsub(instrumentID, receiver);
     }
 }
示例#3
0
 public static void UnSubscribe(IEnumerable <string> instrumentIDs, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         foreach (var instrumentID in instrumentIDs)
         {
             DoUnsub(instrumentID, receiver);
         }
     }
 }
示例#4
0
 public static void UnSubscribe(IEnumerable<string> instrumentIDs, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         foreach (var instrumentID in instrumentIDs)
         {
             DoUnsub(instrumentID, receiver);
         }
     }
 }
示例#5
0
        private static void DoUnsub(string instrumentID, IQuotationReceiver receiver)
        {
            List <IQuotationReceiver> receivers;

            if (!subscribeDic.TryGetValue(instrumentID, out receivers))
            {
                return;
            }
            receivers.Remove(receiver);
            if (receivers.Count != 0)
            {
                return;
            }
            subscribeDic.Remove(instrumentID);
        }
示例#6
0
 public static void Subscribe(string instrumentID, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         List<IQuotationReceiver> receivers;
         if (!subscribeDic.TryGetValue(instrumentID, out receivers))
         {
             receivers = new List<IQuotationReceiver>() { receiver };
             subscribeDic.Add(instrumentID, receivers);
             return;
         }
         if (!receivers.Contains(receiver))
         {
             receivers.Add(receiver);
         }
     }
 }
示例#7
0
 public static void Subscribe(string instrumentID, IQuotationReceiver receiver)
 {
     lock (subscribeDic)
     {
         List <IQuotationReceiver> receivers;
         if (!subscribeDic.TryGetValue(instrumentID, out receivers))
         {
             receivers = new List <IQuotationReceiver>()
             {
                 receiver
             };
             subscribeDic.Add(instrumentID, receivers);
             return;
         }
         if (!receivers.Contains(receiver))
         {
             receivers.Add(receiver);
         }
     }
 }
示例#8
0
 private static void DoUnsub(string instrumentID, IQuotationReceiver receiver)
 {
     List<IQuotationReceiver> receivers;
     if (!subscribeDic.TryGetValue(instrumentID, out receivers))
     {
         return;
     }
     receivers.Remove(receiver);
     if (receivers.Count != 0)
     {
         return;
     }
     subscribeDic.Remove(instrumentID);
 }