public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            Console.WriteLine("Processing SUBSCRIPTION_STATUS");
            foreach (Message msg in eventObj)
            {
                var topic = (string)msg.CorrelationID.Object;
                Console.WriteLine(DateTime.Now.ToString("s") +
                                  ": " + topic + " - " + msg.MessageType);

                if (msg.HasElement(ReasonElementId))
                {
                    // This can occur on SubscriptionFailure.
                    Element reason = msg.GetElement(ReasonElementId);
                    Console.WriteLine("\t" +
                                      reason.GetElement(CategoryElementId).GetValueAsString() +
                                      ": " + reason.GetElement(DescriptionElementId).GetValueAsString());
                }

                if (msg.HasElement(ExceptionElementId))
                {
                    // This can occur on SubscriptionStarted if at least
                    // one field is good while the rest are bad.
                    Element exceptions = msg.GetElement(ExceptionElementId);
                    for (int i = 0; i < exceptions.NumValues; ++i)
                    {
                        Element exInfo = exceptions.GetValueAsElement(i);
                        Element fieldId = exInfo.GetElement(FieldIdElementId);
                        Element reason = exInfo.GetElement(ReasonElementId);
                        Console.WriteLine("\t" + fieldId.GetValueAsString() +
                                          ": " + reason.GetElement(CategoryElementId).GetValueAsString());
                    }
                }
                Console.WriteLine("");
            }
        }
예제 #2
0
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            Console.WriteLine("Processing SUBSCRIPTION_STATUS");
            foreach (Message msg in eventObj)
            {
                var topic = (string)msg.CorrelationID.Object;
                Console.WriteLine(DateTime.Now.ToString("s") +
                                  ": " + topic + " - " + msg.MessageType);

                if (msg.HasElement(ReasonElementId))
                {
                    // This can occur on SubscriptionFailure.
                    Element reason = msg.GetElement(ReasonElementId);
                    Console.WriteLine("\t" +
                                      reason.GetElement(CategoryElementId).GetValueAsString() +
                                      ": " + reason.GetElement(DescriptionElementId).GetValueAsString());
                }

                if (msg.HasElement(ExceptionElementId))
                {
                    // This can occur on SubscriptionStarted if at least
                    // one field is good while the rest are bad.
                    Element exceptions = msg.GetElement(ExceptionElementId);
                    for (int i = 0; i < exceptions.NumValues; ++i)
                    {
                        Element exInfo  = exceptions.GetValueAsElement(i);
                        Element fieldId = exInfo.GetElement(FieldIdElementId);
                        Element reason  = exInfo.GetElement(ReasonElementId);
                        Console.WriteLine("\t" + fieldId.GetValueAsString() +
                                          ": " + reason.GetElement(CategoryElementId).GetValueAsString());
                    }
                }
                Console.WriteLine("");
            }
        }
        protected override void RegisterEventHandlers(BloombergSessionWrapper wrapper)
        {
            var events = new List <Event.EventType> {
                Event.EventType.PARTIAL_RESPONSE, Event.EventType.RESPONSE
            };

            wrapper.RegisterEventHandler <ReferenceDataEventHandler>(events);
        }
예제 #4
0
 public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
 {
     Console.WriteLine("Processor " + id + ": Processing " + eventObj.Type);
     foreach (Message msg in eventObj)
     {
         Console.WriteLine(DateTime.Now.ToString("s") +
                           ": " + msg.MessageType + "\n");
     }
 }
예제 #5
0
 public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
 {
     Console.WriteLine("Processor " + id + ": Processing " + eventObj.Type);
     foreach (Message msg in eventObj)
     {
         Console.WriteLine(DateTime.Now.ToString("s") +
                           ": " + msg.MessageType + "\n");
     }
 }
예제 #6
0
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            string messages = "--> inside the exception Handler i received this: ";

            foreach (Message message in eventObj)
            {
                messages += message + " ";
            }
            string file = Directory.GetCurrentDirectory() + "\\bb_session_error.log";
        }
예제 #7
0
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            string messages = "--> inside the exception Handler i received this: ";

            foreach (Message message in eventObj)
            {
                messages += message + " ";
            }
            string file = Directory.GetCurrentDirectory() + "\\bb_session_error.log";
        }
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                ReferenceDataRequestInfo requestDescription = session.RequestDescriptions[msg.CorrelationID];
                requestDescription.Response.SaveMessage(msg);

                if (requestDescription.Callback != null && eventObj.Type == Event.EventType.RESPONSE)
                {
                    requestDescription.Callback(requestDescription.Response);
                }
            }
        }
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                ReferenceDataRequestInfo requestDescription = session.RequestDescriptions[msg.CorrelationID];
                requestDescription.Response.SaveMessage(msg);

                if (requestDescription.Callback != null && eventObj.Type == Event.EventType.RESPONSE)
                {
                    requestDescription.Callback(requestDescription.Response);
                }
            }
        }
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                Element fields = msg.GetElement(FieldDataElementId);
                int numElements = fields.NumValues;

                PrintHeader();
                for (int i = 0; i < numElements; i++)
                {
                    PrintField(fields.GetValueAsElement(i));
                }
                Console.WriteLine();
            }
        }
예제 #11
0
 private void CreateSession(DataService service)
 {
     if (SessionWrapper != null)
     {
         StopSession();
     }
     SessionWrapper = new BloombergSessionWrapper();
     SessionWrapper.PropertyChanged += SessionWrapperPropertyChanged;
     if (!StartSession())
     {
         throw new SessionNotStartedException();
     }
     SetDataService(service);
     RegisterEventHandlers(SessionWrapper);
 }
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                Element fields      = msg.GetElement(FieldDataElementId);
                int     numElements = fields.NumValues;

                PrintHeader();
                for (int i = 0; i < numElements; i++)
                {
                    PrintField(fields.GetValueAsElement(i));
                }
                Console.WriteLine();
            }
        }
예제 #13
0
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                var topic = (string)msg.CorrelationID.Object;

                foreach (Element field in msg.Elements)
                {
                    if (field.IsNull)
                    {
                        continue;
                    }

                    // Assume all values are scalar.
                }
            }
        }
        public override void ProcessEvent(Event eventObj, BloombergSessionWrapper session)
        {
            foreach (Message msg in eventObj)
            {
                var topic = (string)msg.CorrelationID.Object;

                foreach (Element field in msg.Elements)
                {
                    if (field.IsNull)
                    {
                        continue;
                    }

                    // Assume all values are scalar.
                }
            }
        }
예제 #15
0
 public abstract void ProcessEvent(Event eventObj, BloombergSessionWrapper session);
예제 #16
0
 public abstract void ProcessEvent(Event eventObj, BloombergSessionWrapper session);
예제 #17
0
 protected abstract void RegisterEventHandlers(BloombergSessionWrapper wrapper);