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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? htnet.h

?? firtext搜索引擎源碼
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):
/*  					W3C Sample Code Library libwww HTNet Class!  The Net Class!*//***	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.*//*The Net class manages information related to a "thread" in libwww. As libwwwthreads are not really threads but a notion of using interleaved, non-blockingI/O for accessing data objects from the network (or local file system), theycan be used on any platform with or without support for native threads. Inthe case where you have an application using real threads the Net class issimply a object maintaining links to all other objects involved in servingthe request. If you are using the libwww pseudo threads then the Net objectcontains enough information to stop and start a request based on which BSDsockets are ready. In practise this is of course transparent to the application- this is just to explain the difference.When a Request object is passed to the Library ,the core creates a new HTNet object per channelused by the request. In many cases a request only uses a singlechannel object but, for example, FTP requests useat least two - one for the control connection and one for the data connection.You can find more information about the libwww pseudo thread model in the Multithread Specifications.This module is implemented by HTNet.c, and it is apart of the W3C Sample Code Library.*/#ifndef HTNET_H#define HTNET_H/*The HTNet object is the core of the request queue management.This object contains information about the socket descriptor, the input readbuffer etc. required to identify and service a request.*/typedef struct _HTNet HTNet;#include "HTEvent.h"#include "HTReq.h"#include "HTResponse.h"#include "HTTrans.h"#include "HTHost.h"#include "HTProt.h"#include "HTChannl.h"#include "HTDNS.h"/*.  Generic BEFORE and AFTER Filter Management.Filter functions can be registered to be called before andafter a request has either been started or has terminated. Theconditions for BEFORE and AFTER filters are not the same, and sowe maintain them independently. Filters can be registered globally or locally.The global filters are registered directly by the Net Object (this module)and the local filters are registered by theHTRequest Object. However, both &nbsp;local andglobal filters use the same regisration mechanism which we provide here.(  Filter Ordering)Filters can be registered by anyone and as they are an often used mechanismfor introducing extensions in libwww, they are videly used to handleauthentication, redirection, etc. Many filters can be registered at onceand not all of the filters may know about the other filters. Therefore, itis difficult to specify an absolute ordering by which the filters shouldbe called. Instead you can decide a relative order by which the filters shouldbe called. The order works pretty much like the Unix priority mechanism runningfrom HT_FILTER_FIRST to HT_FILTER_LAST havingHT_FILTER_MIDDLE being the "normal" case.*/typedef enum _HTFilterOrder {    HT_FILTER_FIRST	= 0x0,		/*     0 */    HT_FILTER_EARLY	= 0x3FFF,	/* 16383 */    HT_FILTER_MIDDLE	= 0x7FFF,	/* 32767 */    HT_FILTER_LATE	= 0xBFFE,	/* 49150 */    HT_FILTER_LAST	= 0xFFFF	/* 65535 */} HTFilterOrder;/*In case multiple filters are registered with the same order then they arecalled in the inverse order they were registered.&nbsp;(  Filter URL Templates)Both BEFORE and AFTER filters can be registered with a URLtemplate in which case they are only called when the Request URLmatches the template. A template is simply a string which is matched againstthe Request URL. The string can be terminated by a&nbsp;single"*" in which case all strings matching the template up til the"*" is considered a match. A template can be as short as the access schemewhich enmables a filter for a specific access method only, for example"http//<star>".(  BEFORE Filters)A BEFORE filter is called whenever we issue a request and they havebeen selected by the execution procedure. BEFORE filters are registeredwith a context and a filter order by which they are to be calledand a URL template which may be NULL. In this case, the filter iscalled on every request. The mode can be used by anybody to pass an extraparameter to a filter. This is not really OO thinking - but hey - this isC ;-)*/typedef int HTNetBefore (HTRequest * request, void * param, int mode);/*You can add a BEFORE filter in the list provided by the caller. Severalfilters can be registered in which case they are called with the filter orderingin mind.*/extern BOOL HTNetCall_addBefore (HTList * list, HTNetBefore * before,				 const char * tmplate, void * param,                                 HTFilterOrder order);/*You can also unregister all instances of a BEFORE filter from a list usingthe following function*/extern BOOL HTNetCall_deleteBefore (HTList * list, HTNetBefore * before);/*You get rid of all BEFORE filters using this function*/extern BOOL HTNetCall_deleteBeforeAll (HTList * list);/*The BEFORE filters are expected and called if appropriate every time we issuea new request. Libwww calls the BEFORE filters in the order specified atregistration time. If a filter returns other than HT_OK then stop and returnimmediately. Otherwise return what the last filter returns.*/extern int HTNetCall_executeBefore (HTList * list, HTRequest * request);/*(  AFTER Filters)An AFTER filter is called whenever we have terminated a request. Thatis, on the way out from the protocol module andback to the application. AFTER filters are registered with acontext, a status, a filter order by which they areto be called and a URL template which may be NULL. The status of therequest may determine which filter to call. The set of possible values aregiven below. An AFTER filter can be registered to handle one or moreof the codes.      HT_ERROR      An error occured      HT_LOADED      The document was loaded      HT_NO_DATA      OK, but no data      HT_NO_ACCESS      The request could not be succeeded due to lack of credentials      HT_NO_PROXY_ACCESS      The request could not be succeeded due to lack of credentials for accessing    an intermediate proxy      HT_RETRY      Retry request after at a later time      HT_PERM_REDIRECT      The request has been permanently redirected and we send back the new URL      HT_TEMP_REDIRECT      The request has been temporarily redirected and we send back the new URL      HT_ALL      All of aboveA Protocol module can also, in certain cases, return a HT_IGNOREin which case no filters are called*/typedef int HTNetAfter (HTRequest * request, HTResponse * response,                        void * param, int status);/*You can register a AFTER filter in the list provided by the caller. Severalfilters can be registered in which case they are called with the filter orderingin mind.*/extern BOOL HTNetCall_addAfter (HTList * list, HTNetAfter * after,				const char * tmplate, void * param,				int status, HTFilterOrder order);/*You can either unregister all filters registered for a given status usingthis function or the filter for all status codes.*/extern BOOL HTNetCall_deleteAfter (HTList * list, HTNetAfter * after);extern BOOL HTNetCall_deleteAfterStatus (HTList * list, int status);/*You can also delete all AFTER filters in list*/extern BOOL HTNetCall_deleteAfterAll (HTList * list);/*This function calls all the AFTER filters in the order specified at registrationtime and if it has the right status code and it's not HT_IGNORE.We also check for any template and whether it matches or not. If a filterreturns other than HT_OK then stop and return immediately. Otherwise returnwhat the last filter returns.*/extern int HTNetCall_executeAfter (HTList * list, HTRequest * request,				   int status);/*.  Global BEFORE and AFTER Filter Management.Global filters are inspected on every request (they do not have to be called- only if the conditions match). You can also register filters locally inthe Request object.  Global BEFORE FiltersThese are the methods to handle global BEFORE Filters.*/extern BOOL HTNet_setBefore (HTList * list);extern HTList * HTNet_before (void);extern BOOL HTNet_addBefore (HTNetBefore * before, const char * tmplate,			     void * param, HTFilterOrder order);extern BOOL HTNet_deleteBefore (HTNetBefore * before);/*You can call both the local and the global BEFORE filters (if any)*/extern int HTNet_executeBeforeAll (HTRequest * request);/*  Global AFTER FiltersThese are the methods to handle global AFTER Filters.*/extern BOOL HTNet_setAfter (HTList * list);extern HTList * HTNet_after (void);extern BOOL HTNet_addAfter (HTNetAfter * after, const char * tmplate,			    void * param, int status,                            HTFilterOrder order);extern BOOL HTNet_deleteAfter (HTNetAfter * after);extern BOOL HTNet_deleteAfterStatus (int status);/*You can call both the local and the global AFTER filters (if any)*/extern int HTNet_executeAfterAll (HTRequest * request, int status);/*.  Socket Resource Management.The request queue ensures that no more than a fixed number of TCP connectionsare open at the same time. If more requests are handed to the Library, theyare put into the pending queue and initiated when sockets become free.(  Number of Simultanous open TCP connections)Set the max number of simultanous sockets. The default value is HT_MAX_SOCKETSwhich is 6. The number of persistent connections depend on this value asa deadlock can occur if all available sockets a persistent (see theDNS Manager for more information on setting thenumber of persistent connections). The number of persistent connections cannever be more than the max number of sockets-2, so letting newmax=2 preventspersistent sockets.*/extern BOOL HTNet_setMaxSocket (int newmax);extern int  HTNet_maxSocket (void);/*(  Socket Counters)*/extern void HTNet_increaseSocket (void);extern void HTNet_decreaseSocket (void);extern int HTNet_availableSockets (void);/*(  Persistent Socket Counters)*/extern void HTNet_increasePersistentSocket (void);extern void HTNet_decreasePersistentSocket (void);extern int HTNet_availablePersistentSockets (void);/*(  Any Ongoing Connections?)Returns whether there are active requests. Idle persistent sockets do notcount as active.*/extern BOOL HTNet_isIdle (void);/*(  List Active Queue)Returns the list of active requests that are currently having an open connection.Returns list of HTNet objects or NULL if error.*/extern HTList *HTNet_activeQueue (void);extern BOOL HTNet_idle (void);/*(  Are we Active?

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片久久久久久久| 国产91高潮流白浆在线麻豆| 亚洲欧洲一区二区在线播放| 国产农村妇女精品| 久久综合久久99| 欧美成人video| 精品成人免费观看| 久久女同互慰一区二区三区| 久久奇米777| 国产日韩欧美高清| 成人欧美一区二区三区小说| 亚洲天天做日日做天天谢日日欢| 亚洲视频图片小说| 一区二区三区在线影院| 亚洲一区在线电影| 午夜电影网一区| 激情欧美一区二区三区在线观看| 蜜桃一区二区三区四区| 国产精品资源在线看| 北条麻妃一区二区三区| 色欧美日韩亚洲| 欧美日韩国产a| 久久影院午夜论| 亚洲精品视频在线观看免费| 亚洲mv在线观看| 国产真实精品久久二三区| av男人天堂一区| 欧美体内she精高潮| 精品成人私密视频| 亚洲欧美激情视频在线观看一区二区三区 | 成人av网站在线| 色综合久久久久久久久久久| 欧美人体做爰大胆视频| 久久久国产精品午夜一区ai换脸| 国产精品国模大尺度视频| 亚洲一区电影777| 国产一区二区三区在线观看精品 | 舔着乳尖日韩一区| 国产精品一区二区黑丝| 欧美在线高清视频| 欧美电影免费观看高清完整版在线| 国产亚洲午夜高清国产拍精品 | 欧美精品一区二区三区在线| 国产精品久久久久久久久搜平片| 亚洲一二三专区| 国产乱码精品一区二区三区五月婷 | 国产精品456露脸| 91久久线看在观草草青青| 精品国产一区二区三区久久久蜜月 | 国产综合色精品一区二区三区| 91小视频免费看| 久久久美女艺术照精彩视频福利播放| 玉米视频成人免费看| 韩国午夜理伦三级不卡影院| 欧美中文字幕一区二区三区亚洲| 国产亚洲精品资源在线26u| 亚洲国产精品精华液网站| 成人av小说网| 国产亚洲欧洲997久久综合| 青青草国产成人99久久| 欧美日韩在线电影| 亚洲精品视频免费观看| 成人av资源在线观看| 久久先锋影音av| 麻豆中文一区二区| 在线成人免费视频| 五月婷婷色综合| 欧美日韩精品久久久| 亚洲小说欧美激情另类| 色综合久久久久| 日韩理论片网站| 91啦中文在线观看| 一区二区在线观看视频| 色婷婷av一区二区三区之一色屋| 亚洲欧洲一区二区在线播放| 成人91在线观看| 国产精品成人一区二区艾草 | 欧美日韩精品电影| 亚洲gay无套男同| 欧美网站大全在线观看| 亚洲最新视频在线观看| 在线视频中文字幕一区二区| 中文字幕一区二区视频| 一本到一区二区三区| 成人欧美一区二区三区白人 | 欧美日韩国产在线观看| 日韩精品国产精品| 91精品国产手机| 极品少妇一区二区三区精品视频| 精品国内二区三区| 国产一区二区毛片| 亚洲综合无码一区二区| 欧美系列在线观看| 青青国产91久久久久久 | 国产精品萝li| 色婷婷精品久久二区二区蜜臂av| 亚洲动漫第一页| 欧美一卡二卡三卡| 国产盗摄女厕一区二区三区 | 日韩视频免费观看高清完整版| 日韩av电影一区| 精品国产99国产精品| 成人动漫中文字幕| 亚洲电影中文字幕在线观看| 日韩欧美三级在线| av在线播放成人| 日欧美一区二区| 国产精品无码永久免费888| 欧美性高清videossexo| 狠狠色丁香九九婷婷综合五月| 欧美激情在线一区二区| 欧美日韩午夜精品| 高清成人在线观看| 亚洲不卡av一区二区三区| 久久精品人人做人人爽97| 91久久免费观看| 老司机精品视频导航| 最新国产の精品合集bt伙计| 91精品国产色综合久久| voyeur盗摄精品| 久久精品国产77777蜜臀| 亚洲乱码国产乱码精品精可以看| 91精品国产乱| 在线看日韩精品电影| 欧美三区在线观看| 国产精品一区一区| 天堂一区二区在线免费观看| 亚洲国产精品v| 日韩免费看的电影| 欧美三级中文字| 91丨国产丨九色丨pron| 国产麻豆精品久久一二三| 日日摸夜夜添夜夜添亚洲女人| 亚洲欧美日韩国产综合在线| 精品国产91久久久久久久妲己| 欧美日韩精品三区| 色一区在线观看| 北条麻妃一区二区三区| 粉嫩一区二区三区性色av| 久久国产精品区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品成人在线| 国产精品久久久久一区| 久久久一区二区| 欧美成人高清电影在线| 欧美一区永久视频免费观看| 欧美亚洲一区二区在线| 色综合天天综合在线视频| 成人中文字幕电影| 国产a视频精品免费观看| 国产精品一区二区免费不卡 | 99国产一区二区三精品乱码| 国产一区二区网址| 国产综合久久久久久鬼色| 男男成人高潮片免费网站| 日韩中文字幕区一区有砖一区| 亚洲伊人伊色伊影伊综合网| 亚洲福利一二三区| 天天av天天翘天天综合网色鬼国产| 一区二区三区不卡在线观看| 亚洲综合成人网| 亚洲国产sm捆绑调教视频| 午夜不卡在线视频| 水野朝阳av一区二区三区| 日本伊人色综合网| 久久精品国产秦先生| 国产综合成人久久大片91| 国产宾馆实践打屁股91| 99精品欧美一区二区三区小说| 91美女片黄在线观看91美女| 欧美亚洲综合网| 欧美精品一二三| 亚洲精品一区二区在线观看| 久久久久久久久久久久久久久99| 国产免费观看久久| 亚洲美女一区二区三区| 日韩极品在线观看| 国产一区二区三区黄视频 | 丁香婷婷综合网| 91影院在线免费观看| 欧美精品一卡二卡| 久久一二三国产| 亚洲欧美一区二区久久| 日韩成人一级片| 国产91在线观看| 欧美日韩国产综合一区二区三区| 欧美一区二区三区免费视频| 国产拍欧美日韩视频二区 | 日韩欧美中文字幕一区| 久久久精品一品道一区| 一区二区国产盗摄色噜噜| 日韩 欧美一区二区三区| 国产91在线|亚洲| 欧美精品视频www在线观看| 国产三级欧美三级日产三级99| 一区二区成人在线视频| 国产黑丝在线一区二区三区| 欧美性一二三区| 国产精品免费视频观看| 蜜桃av一区二区在线观看|