This file is indexed.

/usr/include/mamda/MamdaOrderBookChecker.h is in libmamda-dev 2.2.2.1-11ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/* $Id$
 *
 * OpenMAMA: The open middleware agnostic messaging API
 * Copyright (C) 2011 NYSE Technologies, Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA
 */

#ifndef MamdaOrderBookCheckerH
#define MamdaOrderBookCheckerH

#include <mamda/MamdaOptionalConfig.h>
#include <mamda/MamdaSubscription.h>
#include <mamda/MamdaOrderBookCheckerHandler.h>
#include <mama/mamacpp.h>

namespace Wombat
{

    class MamdaOrderBook;
    class MamdaOrderBookListener;
    class MamdaOrderSource;

    /**
     * MamdaOrderBookChecker is a class that provides order book sanity
     * checking by periodically requesting snapshots of the order book
     * from the publisher and comparing that with an order book being
     * maintained in real time.  This class is purely for testing
     * purposes, to test for possible configuration or programming errors
     * in the order book publisher and in MAMDA order book management
     * code.
     *
     * The developer registers a handler that contains callbacks for
     * successful, inconclusive and failure events.  The developer also
     * provides an interval representing the frequency of the snapshot
     * checks.  The first check will take place at some random point in
     * time between zero and the interval.
     */

    class MAMDAOPTExpDLL MamdaOrderBookChecker
    {
        MamdaOrderBookChecker (const MamdaOrderBookChecker&);
        MamdaOrderBookChecker& operator= (const MamdaOrderBookChecker&);

    public:
        /**
         * Constructor for the order book checker.  The caller registers a
         * callback for events related to the checker.
         *
         * @param realTimeBook The real time order book to compare against.
         * This param is "const" because we are not supposed to change it,
         * even though it will change underneath us.
         *
         * @param realTimeSubsc The MamdaSubscription associated
         * with the realTimeBook.  We need it to access the message-level
         * sequence number.  This param is "const" because we are not
         * supposed to change it, even though it will change underneath
         * us.
         *
         * @param realTimeListener The MamdaOrderBookListener associated
         * with the realTimeBook.  
         *
         * @param handler The user-provided callback handler.
         *
         * @param intervalSeconds The number of seconds between checks.
         */
        MamdaOrderBookChecker (const MamdaOrderBook&          realTimeBook,
                               const MamdaSubscription&       realTimeSubsc,
                               MamdaOrderBookListener&        realTimeListener,
                               MamdaOrderBookCheckerHandler*  handler,
                               mama_f64_t                     intervalSeconds);

        MamdaOrderBookChecker (MamaQueue*                     queue,
                               MamdaOrderBookCheckerHandler*  handler,
                               MamaSource*                    source,
                               const char*                    symbol,
                               mama_f64_t                     intervalSeconds);

        /**
         * Destructor
         */
        ~MamdaOrderBookChecker();

        /**
         * Perform an ad hoc snapshot check now.  This may be useful if
         * the checking is to be performed by some external trigger event.
         */
        void checkSnapShotNow();

        /**
         * @return The number of successful checks.
         */
        mama_u32_t getSuccessCount() const;

        /**
         * Return the number of inconclusive counts.  An attempt to check
         * the order book may be inconclusive if the order book sequence
         * numbers do not match up.
         *
         * @return The number of inconclusive checks.
         */
        mama_u32_t getInconclusiveCount() const;

        /**
         * Return the number of failed checks.  This should be zero, of course.
         *
         * @return The number of failed checks.
         */
        mama_u32_t getFailureCount() const;

        struct MamdaOrderBookCheckerImpl;

    private:
        MamdaOrderBookCheckerImpl& mImpl;
    };

} // namespace

#endif // MamdaOrderBookCheckerH