亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gnutella.h

?? peercast的源碼
?? H
字號:
// ------------------------------------------------// File : gnutella.h// Date: 4-apr-2002// Author: giles// Desc: //// (c) 2002 peercast.org// ------------------------------------------------// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.// This program 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 General Public License for more details.// ------------------------------------------------#ifndef _GNUTELLA_H#define _GNUTELLA_H// --------------------------------#include "stream.h"#include "sys.h"
#define GNUTELLA_SETUP 0
// --------------------------------static const int GNU_FUNC_PING	= 0;static const int GNU_FUNC_PONG	= 1;static const int GNU_FUNC_QUERY = 128;static const int GNU_FUNC_HIT	= 129;static const int GNU_FUNC_PUSH	= 64;extern const char *GNU_FUNC_STR(int);// --------------------------------static const char *GNU_PEERCONN		= "PEERCAST CONNECT/0.1";static const char *GNU_CONNECT 		= "GNUTELLA CONNECT/0.6";static const char *GNU_OK 			= "GNUTELLA/0.6 200 OK";
static const char *PCX_PCP_CONNECT	= "pcp";
static const char *PCX_HS_OS 		= "x-peercast-os:";static const char *PCX_HS_DL		= "x-peercast-download:"; static const char *PCX_HS_ID		= "x-peercast-id:"; static const char *PCX_HS_CHANNELID	= "x-peercast-channelid:"; static const char *PCX_HS_NETWORKID	= "x-peercast-networkid:"; static const char *PCX_HS_MSG		= "x-peercast-msg:"; static const char *PCX_HS_SUBNET	= "x-peercast-subnet:"; static const char *PCX_HS_FULLHIT	= "x-peercast-fullhit:"; static const char *PCX_HS_MINBCTTL	= "x-peercast-minbcttl:"; static const char *PCX_HS_MAXBCTTL	= "x-peercast-maxbcttl:"; static const char *PCX_HS_RELAYBC	= "x-peercast-relaybc:"; static const char *PCX_HS_PRIORITY	= "x-peercast-priority:"; static const char *PCX_HS_FLOWCTL	= "x-peercast-flowctl:"; static const char *PCX_HS_PCP		= "x-peercast-pcp:"; 
static const char *PCX_HS_PINGME	= "x-peercast-pingme:"; 
static const char *PCX_HS_PORT		= "x-peercast-port:"; 
static const char *PCX_HS_REMOTEIP	= "x-peercast-remoteip:"; 
static const char *PCX_HS_POS		= "x-peercast-pos:"; 
static const char *PCX_HS_SESSIONID	= "x-peercast-sessionid:"; 
// official version number sent to relay to check for updates static const char *PCX_OS_WIN32 	= "Win32";static const char *PCX_OS_LINUX 	= "Linux";static const char *PCX_OS_MACOSX 	= "Apple-OSX";static const char *PCX_OS_WINAMP2 	= "Win32-WinAmp2";static const char *PCX_OS_ACTIVEX 	= "Win32-ActiveX";static const char *PCX_DL_URL		= "http://www.peercast.org/download.php"; // version number sent to other clientsstatic const char *PCX_OLDAGENT 	= "PeerCast/0.119E";



// version number used inside packets GUIDsstatic const int PEERCAST_PACKETID	= 0x0000119E;
static const char *MIN_ROOTVER		= "0.119E";static const char *MIN_CONNECTVER	= "0.119D";static const int MIN_PACKETVER	    = 0x0000119D;static const char *ICY_OK	= "ICY 200 OK";// --------------------------------static const int DEFAULT_PORT	= 7144;// --------------------------------class Servent;class Channel;class ChanHit;// --------------------------------class GnuPacket{public:	// --------------------------------	class Hash	{	public:		bool	isSame(Hash &h)		{			return (idChecksum == h.idChecksum) && (dataChecksum == h.dataChecksum);		}		bool	isSameID(Hash &h)		{			return (idChecksum == h.idChecksum);		}		unsigned int idChecksum;		unsigned int dataChecksum;	};	// --------------------------------	enum {		MAX_DATA = 2000	};	void	initPing(int);	void	initPong(Host &, bool, GnuPacket &);	void	initFind(const char *, class XML *,int);	bool	initHit(Host &, Channel *, GnuPacket *,bool,bool,bool,bool,int);	void	initPush(ChanHit &, Host &);	void makeChecksumID();	unsigned char func;	unsigned char ttl;	unsigned char hops;	unsigned int	len;	Hash	hash;	GnuID	id;	char data[MAX_DATA];};// --------------------------------class GnuPacketBuffer{public:	GnuPacketBuffer(int s) 	:size(s)	,packets(new GnuPacket[size])	{		reset();	}	~GnuPacketBuffer()	{		delete [] packets;	}	void	reset()	{		readPtr = writePtr = 0;	}	GnuPacket *curr()	{		if (numPending())			return &packets[readPtr%size];		else			return NULL;	}	void	next()	{		readPtr++;	}	int findMinHop()	{		int min=100;		int n = numPending();		for(int i=0; i<n; i++)		{			int idx = (readPtr+i)%size;			if (packets[idx].hops < min)				min = packets[idx].hops;		}		return min;	}	int findMaxHop()	{		int max=0;		int n = numPending();		for(int i=0; i<n; i++)		{			int idx = (readPtr+i)%size;			if (packets[idx].hops > max)				max = packets[idx].hops;		}		return max;	}	int percentFull()	{		return (numPending()*100) / size;	}		int sizeOfPending()	{		int tot=0;		int n = numPending();		for(int i=0; i<n; i++)			tot+=packets[(readPtr+i)%size].len;		return tot;	}	int	numPending()	{		return writePtr-readPtr;	}	bool	write(GnuPacket &p) 	{		if ((writePtr-readPtr) >= size)			return false;		else		{			packets[writePtr%size] = p;			writePtr++;			return true;		}	}	int	size;	GnuPacket *packets;	int	readPtr,writePtr;};// --------------------------------class GnuStream : public IndirectStream{public:	enum R_TYPE	{		R_PROCESS,		R_DEAD,		R_DISCARD,		R_ACCEPTED,		R_BROADCAST,		R_ROUTE,		R_DUPLICATE,		R_BADVERSION,		R_DROP	};	GnuStream()	{		init(NULL);	}	void	init(Stream *s)  	{		IndirectStream::init(s);		packetsIn = packetsOut = 0;	}	bool	readPacket(GnuPacket &);	void	sendPacket(GnuPacket &);	R_TYPE	processPacket(GnuPacket &, Servent *, GnuID &);	static const char *getRouteStr(R_TYPE);
	bool	readHit(Stream &data, ChanHit &ch,int,GnuID &);
		void	ping(int);	int		packetsIn,packetsOut;	WLock	lock;};#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩a欧美在线观看| 欧美日韩不卡一区| 久久99精品久久久| 亚洲精品综合在线| 一区二区三区**美女毛片| 亚洲理论在线观看| 亚洲成人在线免费| 全部av―极品视觉盛宴亚洲| 麻豆精品国产传媒mv男同| 蜜桃视频一区二区三区在线观看| 美国十次了思思久久精品导航| 免费成人av资源网| 国产精品影视在线| 99久久精品情趣| 欧美性生活一区| 欧美猛男男办公室激情| 日韩欧美美女一区二区三区| 精品国内片67194| 亚洲国产精品成人久久综合一区| 亚洲视频电影在线| 婷婷国产在线综合| 狠狠色丁香久久婷婷综合丁香| 粉嫩av一区二区三区| 91激情在线视频| 欧美一区二区三区在| 中文字幕高清不卡| 性感美女极品91精品| 久久97超碰色| 色欧美片视频在线观看 | 精品国产伦一区二区三区观看方式 | 欧美日韩一区小说| 日韩免费高清av| 国产精品蜜臀av| 午夜婷婷国产麻豆精品| 国产一区二区三区av电影| 91丨九色porny丨蝌蚪| 欧美理论电影在线| 国产欧美精品一区| 视频一区二区三区入口| 国产sm精品调教视频网站| 欧美三级一区二区| 欧美激情在线一区二区三区| 一区二区三区日韩在线观看| 久久97超碰色| 欧美视频一区二区三区| 亚洲国产精品激情在线观看| 奇米综合一区二区三区精品视频| 国产成人精品三级| 欧美一区二区在线观看| 国产精品国产三级国产普通话三级| 日韩国产精品久久久久久亚洲| 波多野结衣精品在线| 欧美电视剧在线看免费| 亚洲国产成人精品视频| 91麻豆免费看| 中文一区一区三区高中清不卡| 日精品一区二区| 在线观看国产一区二区| 国产日韩精品久久久| 精品一区中文字幕| 欧美一区二区不卡视频| 亚洲综合无码一区二区| 白白色亚洲国产精品| 久久色视频免费观看| 青青草原综合久久大伊人精品 | 欧美极品aⅴ影院| 久久黄色级2电影| 日韩午夜三级在线| 天堂一区二区在线免费观看| 欧美伊人久久久久久久久影院 | 精品美女被调教视频大全网站| 一区二区三区四区激情| 91在线看国产| 亚洲男人天堂一区| 色综合天天综合狠狠| 亚洲你懂的在线视频| 色综合中文综合网| 中文成人综合网| 丁香婷婷综合激情五月色| 久久久国际精品| 国产成人免费在线| 国产精品成人在线观看| 91丨九色丨黑人外教| 亚洲一区二区在线播放相泽| 欧美麻豆精品久久久久久| 午夜精品视频在线观看| 宅男噜噜噜66一区二区66| 日本不卡一区二区三区| 日韩视频一区二区三区在线播放 | 春色校园综合激情亚洲| 国产精品超碰97尤物18| 色综合天天在线| 婷婷中文字幕综合| 久久综合九色欧美综合狠狠 | 夜夜嗨av一区二区三区四季av| 欧美主播一区二区三区美女| 婷婷综合在线观看| 久久综合久久鬼色| 91日韩在线专区| 日韩福利视频网| 久久久国产精品麻豆| 色呦呦日韩精品| 老司机一区二区| 亚洲少妇屁股交4| 欧美精品乱码久久久久久按摩| 久久精品国产亚洲高清剧情介绍| 国产精品家庭影院| 欧美精品久久一区二区三区| 国产精品一区二区无线| 亚洲自拍与偷拍| 国产欧美一区二区精品婷婷| 在线精品视频一区二区| 国产在线看一区| 亚洲成人一区二区在线观看| 久久久久久一二三区| 欧美日韩电影在线播放| 国产.欧美.日韩| 日本女优在线视频一区二区| 国产精品国产三级国产有无不卡 | 久久69国产一区二区蜜臀| 成人免费在线视频观看| 欧美一级国产精品| 色婷婷精品久久二区二区蜜臂av| 久久精品国产久精国产| 一区二区三区丝袜| 中文字幕第一区二区| 日韩欧美国产电影| 欧美视频在线一区二区三区| 99热在这里有精品免费| 国产乱码精品一区二区三| 日韩国产一区二| 一区二区免费在线| 中文字幕在线不卡| 久久久久久久综合狠狠综合| 日韩三级免费观看| 欧美精品日日鲁夜夜添| 色av一区二区| 91视视频在线观看入口直接观看www| 精品中文字幕一区二区小辣椒| 亚洲大型综合色站| 性欧美大战久久久久久久久| 伊人夜夜躁av伊人久久| 亚洲男同性恋视频| 有坂深雪av一区二区精品| 日韩久久一区二区| 1024成人网| 国产精品成人免费精品自在线观看| 国产色产综合产在线视频 | 国产69精品一区二区亚洲孕妇| 久久成人免费网| 麻豆精品一二三| 精品在线免费观看| 国产永久精品大片wwwapp| 激情久久久久久久久久久久久久久久| 日本在线不卡视频| 精品综合免费视频观看| 国产精品一区2区| 国产成人午夜99999| 国产不卡视频在线播放| 成人高清av在线| 色综合天天综合网天天看片| 一本久久a久久精品亚洲| 在线影视一区二区三区| 欧美日本不卡视频| 日韩一区二区三区高清免费看看| 欧美一级黄色录像| 久久久久久久网| 亚洲男人天堂av| 青青草一区二区三区| 国产成人在线视频免费播放| 成人av在线播放网址| 在线观看日韩高清av| 欧美mv和日韩mv国产网站| 国产视频亚洲色图| 一区二区欧美视频| 久久99精品一区二区三区三区| 国v精品久久久网| 欧美私模裸体表演在线观看| 日韩美女视频在线| 国产精品久久久久久久久动漫 | av不卡在线观看| 欧洲中文字幕精品| 欧美mv日韩mv国产网站app| 国产精品污网站| 日韩激情一区二区| 成人国产免费视频| 欧美日韩精品专区| 国产午夜亚洲精品不卡| 亚洲国产精品一区二区久久恐怖片 | 欧美亚洲综合另类| 欧美乱妇23p| 国产目拍亚洲精品99久久精品| 一区二区三区欧美视频| 国产精品正在播放| 69精品人人人人| 最新中文字幕一区二区三区| 青娱乐精品在线视频| 色综合天天做天天爱| 精品美女在线播放| 日韩av中文在线观看|