This file is indexed.

/usr/include/sipxtapi/mp/MprRtpDispatcherIpAffinity.h is in libsipxtapi-dev 3.3.0~test17-1.

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
//  
// Copyright (C) 2007-2011 SIPez LLC.  All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement. 
//
// Copyright (C) 2007-2008 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// $$
///////////////////////////////////////////////////////////////////////////////

// Author: Alexander Chemeris <Alexander DOT Chemeris AT SIPez DOT com>

#ifndef _MprRtpDispatcherIpAffinity_h_
#define _MprRtpDispatcherIpAffinity_h_

// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <mp/MprRtpDispatcher.h>

// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
class MpRtpStream;
class MprDejitter;

/**
*  @brief Class for RTP stream dispatcher abstraction.
*/
class MprRtpDispatcherIpAffinity : public MprRtpDispatcher
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:

/* ============================ CREATORS ================================== */
///@name Creators
//@{

     /// Constructor
   MprRtpDispatcherIpAffinity(const UtlString& rName, int connectionId);
     /**<
     *  @param name - name of this RTP dispatcher.
     *  @param connectionId - connection ID to be used in notifications.
     *  @param pMsgQ - notification dispatcher to send notifications to.
     */

     /// Destructor
   virtual
   ~MprRtpDispatcherIpAffinity();

//@}

/* ============================ MANIPULATORS ============================== */
///@name Manipulators
//@{

     /// @copydoc MprRtpDispatcher::pushPacket()
   OsStatus pushPacket(MpRtpBufPtr &pRtp);

     /// @copydoc MprRtpDispatcher::checkRtpStreams()
   void checkRtpStreamsActivity();

     /// @copydoc MprRtpDispatcher::connectOutput()
   UtlBoolean connectOutput(int outputIdx, MpResource* pushRtpToResource);

     /// @copydoc MprRtpDispatcher::disconnectOutput()
   UtlBoolean disconnectOutput(int outputIdx);

     /// Inform this object of its sibling ToNet's destination.
   void setPreferredIp(unsigned long address, int port);

//@}

/* ============================ ACCESSORS ================================= */
///@name Accessors
//@{

//@}

/* ============================ INQUIRY =================================== */
///@name Inquiry
//@{

//@}

/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:

   MpRtpStream     mRtpStream;     ///< Our RTP stream instance (single for this
                                   ///< dispatcher)
   MprDejitter    *mpDejitter;     ///< Dejitter for our single decoder.

   UtlBoolean      mPrefSsrcValid; ///< Is mPrefSsrc valid?
   unsigned long   mRtpDestIp;     ///< Where this connection is sending TO
   int             mRtpDestPort;   ///< Port   "      "

   int             mNumPushed;              ///< Total RTP pkts received
   int             mNumDropped;             ///< RTP pkts dropped due to SSRC mismatch
   int             mTotalWarnings;          ///< Total RTP pkts from non-pref'd
   int             mNumWarnings;            ///< Current consecutive "   "
   int             mNumNonPrefPackets;      ///< Consecutive pkts from non-pref'd
   int             mRtpDestMatchIpOnlySsrc; ///< Last SSRC from same IP as pref'd
   UtlBoolean      mRtpDestMatchIpOnlySsrcValid;
   int             mRtpOtherSsrc;           ///< Last SSRC from diff IP as pref'd
   UtlBoolean      mRtpOtherSsrcValid;

   static const int SSRC_SWITCH_MISMATCH_COUNT;

     /// Set SSRC we want to receive.
   int setPrefSsrc(unsigned int newSsrc);
     /// Get SSRC we want to receive.
   RtpSRC getPrefSsrc(void);

/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:

     /// Copy constructor (not implemented for this class)
   MprRtpDispatcherIpAffinity(const MprRtpDispatcherIpAffinity& rMprRtpDispatcherIpAffinity);

     /// Assignment operator (not implemented for this class)
   MprRtpDispatcherIpAffinity& operator=(const MprRtpDispatcherIpAffinity& rhs);

};

/* ============================ INLINE METHODS ============================ */

#endif  // _MprRtpDispatcherIpAffinity_h_