public void onBookGap(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookGap gapEvent,
     MamdaOrderBookRecap fullBook)
 {
     ++myBookGapStats;
 }
 public void onBookClear(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookDelta bookDelta,
     MamdaOrderBookRecap fullBook)
 {
     Console.WriteLine("BookClear");
 }
 public void onBookDelta(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookDelta bookDelta,
     MamdaOrderBookRecap bookRecap)
 {
     ++myUpdateStats;
 }
Example #4
0
 public void onBookGap(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookGap gapEvent,
     MamdaOrderBookRecap fullBook)
 {
     Console.WriteLine(
         "Received book gap " + sub.getSymbol()
         + " Start: " + gapEvent.getBeginGapSeqNum()
         + " End: " + gapEvent.getEndGapSeqNum());
 }
Example #5
0
 public void onBookClear(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookDelta bookDelta,
     MamdaOrderBookRecap fullBook)
 {
     if (myQuietModeLevel < 2)
     {
         Console.WriteLine("CLEAR!!!  (seq# {0}) ", msg.getSeqNum());
     }
 }
Example #6
0
 public void onBookDelta(
     MamdaSubscription sub,
     MamdaOrderBookListener listener,
     MamaMsg msg,
     MamdaOrderBookDelta bookDelta,
     MamdaOrderBookRecap bookRecap)
 {
     if (myQuietModeLevel < 2)
     {
         Console.WriteLine("DELTA!!!  (seq# {0}) ", msg.getSeqNum());
     }
     if (myCacheFullBooks)
     {
         prettyPrint(bookRecap.getFullOrderBook());
     }
     else
     {
         prettyPrint(bookDelta.getDeltaOrderBook());
     }
 }
        private static void subscribeToBooks(string symbol)
        {
            MamdaSubscription      aSubscription = new MamdaSubscription();
            MamdaOrderBookListener aBookListener = new MamdaOrderBookListener();
            ListenerCallback       callback      = new ListenerCallback();

            aBookListener.addHandler(callback);
            aSubscription.addMsgListener(aBookListener);
            aSubscription.addStaleListener(callback);
            aSubscription.setType(mamaSubscriptionType.MAMA_SUBSC_TYPE_BOOK);

            aSubscription.create(
                transport,
                defaultQueue,
                options.getSource(),
                symbol,
                null);

            //Add the Mamda Subscription to the ArrayList
            subscriptionList.Add(aSubscription);
        }
Example #8
0
        static void Main(string[] args)
        {
            MamaTransport        transport    = null;
            MamaQueue            defaultQueue = null;
            MamaDictionary       dictionary   = null;
            CommandLineProcessor options      = new CommandLineProcessor (args);
            myQuietModeLevel = options.getQuietModeLevel();

            if (options.hasLogLevel())
            {
                myLogLevel = options.getLogLevel();
                Mama.enableLogging(myLogLevel);
            }

            myCacheFullBooks = options.cacheFullBooks();
            myPrintEntries = options.getPrintEntries();
            mySnapshot = options.getSnapshot();
            myPrecision = options.getPrecision();
            try
            {
                //Initialize MAMA API
                myBridge = new MamaBridge(options.getMiddleware());
                Mama.open();
                transport = new MamaTransport();
                transport.create(options.getTransport(), myBridge);
                defaultQueue = Mama.getDefaultEventQueue(myBridge);
                myMamaSource = new MamaSource ();
                //Get the Data dictionary.....
                MamaSource dictionarySource = new MamaSource();
                dictionarySource.symbolNamespace = options.getDictSource();
                dictionarySource.transport = transport;
                dictionary = buildDataDictionary(transport, defaultQueue, dictionarySource);

                MamdaOrderBookFields.setDictionary (dictionary, null);

                foreach (string symbol in options.getSymbolList())
                {
                    MamdaSubscription aSubscription = new MamdaSubscription();
                    MamdaOrderBookListener aBookListener;
                    if (myCacheFullBooks)
                    {
                        aBookListener = new MamdaOrderBookListener();
                    }
                    else
                    {
                        aBookListener = new MamdaOrderBookListener(null, new MamdaOrderBook());
                    }

                    BookTicker aTicker = new BookTicker();

                    aBookListener.addHandler(aTicker);
                    aSubscription.addMsgListener(aBookListener);
                    aSubscription.addStaleListener(aTicker);
                    aSubscription.addErrorListener(aTicker);

                    aSubscription.setType(mamaSubscriptionType.MAMA_SUBSC_TYPE_BOOK);
                    if (mySnapshot)
                    {
                        aSubscription.setServiceLevel(mamaServiceLevel.MAMA_SERVICE_LEVEL_SNAPSHOT, 0);
                    }
                    aSubscription.create(
                        transport,
                        defaultQueue,
                        options.getSource(),
                        symbol,
                        null);

                    mamdaSubscriptions.Add(aSubscription);
                }

                //Start dispatching on the default MAMA event queue
                Console.WriteLine("Hit Enter or Ctrl-C to exit.");
                Mama.start(myBridge);
                GC.KeepAlive(dictionary);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Environment.Exit(1);
            }
        }
Example #9
0
            public void onBookRecap(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookDelta      bookDelta,
				MamdaOrderBookRecap      bookRecap)
            {
                if (myQuietModeLevel < 2)
                {
                    Console.WriteLine ("RECAP!!!  (seq# {0}) ", msg.getSeqNum());
                }

                if (myCacheFullBooks)
                {
                    prettyPrint(bookRecap.getFullOrderBook());
                }
                else
                {
                    prettyPrint(bookDelta.getDeltaOrderBook());
                }
            }
Example #10
0
            public void onBookGap(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookGap        gapEvent,
				MamdaOrderBookRecap      fullBook)
            {
                Console.WriteLine (
                    "Received book gap " + sub.getSymbol ()
                        + " Start: " + gapEvent.getBeginGapSeqNum()
                        + " End: "   + gapEvent.getEndGapSeqNum());
            }
Example #11
0
            public void onBookClear(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookDelta      bookDelta,
				MamdaOrderBookRecap      fullBook)
            {
                if (myQuietModeLevel < 2)
                {
                    Console.WriteLine ("CLEAR!!!  (seq# {0}) ", msg.getSeqNum());
                }
            }
Example #12
0
            public void onBookRecap(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookDelta      bookDelta,
				MamdaOrderBookRecap      bookRecap)
            {
                ++myRecapStats;
            }
Example #13
0
            public void onBookGap(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookGap        gapEvent,
				MamdaOrderBookRecap      fullBook)
            {
                ++myBookGapStats;
            }
Example #14
0
            public void onBookClear(
				MamdaSubscription        sub,
				MamdaOrderBookListener   listener,
				MamaMsg                  msg,
				MamdaOrderBookDelta      bookDelta,
				MamdaOrderBookRecap      fullBook)
            {
                Console.WriteLine("BookClear");
            }
Example #15
0
        private static void subscribeToBooks(string symbol)
        {
            MamdaSubscription aSubscription      = new MamdaSubscription();
            MamdaOrderBookListener aBookListener = new MamdaOrderBookListener();
            ListenerCallback callback            = new ListenerCallback();

            aBookListener.addHandler(callback);
            aSubscription.addMsgListener(aBookListener);
            aSubscription.addStaleListener(callback);
            aSubscription.setType(mamaSubscriptionType.MAMA_SUBSC_TYPE_BOOK);

            aSubscription.create(
                transport,
                defaultQueue,
                options.getSource(),
                symbol,
                null);

            //Add the Mamda Subscription to the ArrayList
            subscriptionList.Add(aSubscription);
        }
Example #16
0
        static void Main(string[] args)
        {
            MamaTransport        transport    = null;
            MamaQueue            defaultQueue = null;
            MamaDictionary       dictionary   = null;
            CommandLineProcessor options      = new CommandLineProcessor(args);

            myQuietModeLevel = options.getQuietModeLevel();


            if (options.hasLogLevel())
            {
                myLogLevel = options.getLogLevel();
                Mama.enableLogging(myLogLevel);
            }

            myCacheFullBooks = options.cacheFullBooks();
            myPrintEntries   = options.getPrintEntries();
            mySnapshot       = options.getSnapshot();
            myPrecision      = options.getPrecision();
            try
            {
                //Initialize MAMA API
                myBridge = new MamaBridge(options.getMiddleware());
                Mama.open();
                transport = new MamaTransport();
                transport.create(options.getTransport(), myBridge);
                defaultQueue = Mama.getDefaultEventQueue(myBridge);
                myMamaSource = new MamaSource();
                //Get the Data dictionary.....
                MamaSource dictionarySource = new MamaSource();
                dictionarySource.symbolNamespace = options.getDictSource();
                dictionarySource.transport       = transport;
                dictionary = buildDataDictionary(transport, defaultQueue, dictionarySource);

                MamdaOrderBookFields.setDictionary(dictionary, null);

                foreach (string symbol in options.getSymbolList())
                {
                    MamdaSubscription      aSubscription = new MamdaSubscription();
                    MamdaOrderBookListener aBookListener;
                    if (myCacheFullBooks)
                    {
                        aBookListener = new MamdaOrderBookListener();
                    }
                    else
                    {
                        aBookListener = new MamdaOrderBookListener(null, new MamdaOrderBook());
                    }

                    BookTicker aTicker = new BookTicker();

                    aBookListener.addHandler(aTicker);
                    aSubscription.addMsgListener(aBookListener);
                    aSubscription.addStaleListener(aTicker);
                    aSubscription.addErrorListener(aTicker);

                    aSubscription.setType(mamaSubscriptionType.MAMA_SUBSC_TYPE_BOOK);
                    if (mySnapshot)
                    {
                        aSubscription.setServiceLevel(mamaServiceLevel.MAMA_SERVICE_LEVEL_SNAPSHOT, 0);
                    }
                    aSubscription.create(
                        transport,
                        defaultQueue,
                        options.getSource(),
                        symbol,
                        null);

                    mamdaSubscriptions.Add(aSubscription);
                }

                //Start dispatching on the default MAMA event queue
                Console.WriteLine("Hit Enter or Ctrl-C to exit.");
                Mama.start(myBridge);
                GC.KeepAlive(dictionary);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Environment.Exit(1);
            }
        }