OSDN Git Service

WebGUIのレスポンスが悪かったのを修正
[peercast-im/PeerCastIM.git] / c: / Git / PeerCast.root / PeerCast / core / common / channel.h
index d1d00fb..bfbf66b 100644 (file)
@@ -168,6 +168,7 @@ public:
        TrackInfo       track;
        ::String        desc,genre,url,comment;
 
+       unsigned int ppFlags; //JP-MOD
 };
 
 
@@ -177,6 +178,7 @@ class ChanHit
 public:
        void    init();
        void    initLocal(int numl,int numr,int nums,int uptm,bool,bool,unsigned int,Channel*,unsigned int,unsigned int);
+       void    initLocal_pp(bool isStealth, int numClaps); //JP-MOD
        XML::Node *createXML();
 
        void    writeAtoms(AtomStream &,GnuID &);
@@ -187,6 +189,7 @@ public:
        Host                            host;
        Host                            rhost[2];
        unsigned int            numListeners,numRelays,numHops;
+       int                                     clap_pp;        //JP-MOD
        unsigned int            time,upTime,lastContact;
        unsigned int            hitID;
        GnuID                           sessionID,chanID;
@@ -207,6 +210,8 @@ public:
 
        char                            version_ex_prefix[2];
        unsigned int            version_ex_number;
+
+       unsigned int lastSendSeq;
 };
 // ----------------------------------
 class ChanHitList
@@ -223,6 +228,7 @@ public:
        void    clearHits(bool);
        int             numHits();
        int             numListeners();
+       int             numClaps();     //JP-MOD
        int             numRelays();
        int             numFirewalled();
        int             numTrackers();
@@ -243,13 +249,16 @@ public:
        int             getTotalRelays();
        int             getTotalFirewalled();
 
+       unsigned int getSeq();
+
        bool    used;
        ChanInfo        info;
        ChanHit *hit;
        unsigned int lastHitTime;
        ChanHitList *next;
 
-
+       WLock seqLock;
+       unsigned int riSequence;
 };
 // ----------------------------------
 class ChanHitSearch
@@ -434,8 +443,10 @@ public:
        bool    isIdle() {return isActive() && (status==S_IDLE);}
 
        static THREAD_PROC      stream(ThreadInfo *);
+       static THREAD_PROC streamMain(ThreadInfo *);
 
        static THREAD_PROC  waitFinish(ThreadInfo *);
+       static THREAD_PROC waitFinishMain(ThreadInfo *);
 
        void    setStatus(STATUS s);
        const char  *getSrcTypeStr() {return srcTypes[srcType];}
@@ -472,6 +483,7 @@ public:
        int             localListeners();
        int             localRelays();
 
+       int             totalClaps();   //JP-MOD
        int             totalListeners();
        int             totalRelays();
 
@@ -494,10 +506,13 @@ public:
        ::String  sourceURL;
 
        bool    bump,stayConnected;
+       bool    stealth; //JP-MOD
        int             icyMetaInterval;
        unsigned int streamPos;
        unsigned int skipCount; //JP-EX
        bool    readDelay;
+       int             overrideMaxRelaysPerChannel; //JP-MOD
+       bool    bClap; //JP-MOD
 
        TYPE    type;
        ChannelSource *sourceData;
@@ -530,6 +545,8 @@ public:
        bool bumped;
        unsigned int lastSkipTime;
        unsigned int lastStopTime;
+
+       int maxRelays; // \83`\83\83\83\93\83l\83\8b\8cÅ\97L\82Ì\83\8a\83\8c\81[\8dÅ\91å\90\94(\83R\83\93\83X\83g\83\89\83N\83^\82Å\8f\89\8aú\89»)
 };
 
 // ----------------------------------
@@ -603,7 +620,7 @@ public:
 
        int                     pickHits(ChanHitSearch &);
 
-
+       bool findParentHit(ChanHit &p);
 
        Channel         *channel;
        ChanHitList     *hitlist;
@@ -659,20 +676,23 @@ public:
                type = t;
                urls = new ::String[max];
                titles = new ::String[max];
+               contacturls = new ::String[max]; //JP-MOD
        }
 
        ~PlayList()
        {
                delete [] urls;
                delete [] titles;
+               delete [] contacturls; //JP-MOD
        }
 
-       void    addURL(const char *url, const char *tit)
+       void    addURL(const char *url, const char *tit, const char *contacturl/*JP-MOD*/)
        {
                if (numURLs < maxURLs)
                {
                        urls[numURLs].set(url);
                        titles[numURLs].set(tit);
+                       contacturls[numURLs].set(contacturl); //JP-MOD
                        numURLs++;
                }
        }
@@ -715,6 +735,7 @@ public:
        TYPE    type;
        int             numURLs,maxURLs;
        ::String        *urls,*titles;
+       ::String        *contacturls; //JP-MOD
 };
 
 // ----------------------------------