⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httimer.h

📁 www工具包. 这是W3C官方支持的www支撑库. 其中提供通用目的的客户端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
💻 H
字号:
/*  					W3C Sample Code Library libwww Timer Class!  The Timer Class!*//***	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.*//*The Timer class handles timers for libwww and the application. This worksexactly as in X where you create a timer object with a callback functionand a timeout. The callback will be called every time the timer expires.There are several timeouts that can be set in libwww:  o 	     The time we keep an idle persistent connection open. Here there are in fact	     two mechanisms depending on whether you use blocking or non-blocking sockets.	     The default is 60 secs. The timers can be accessed using the functions defined	     in the HTHost object  o 	     The idle time we want to wait when receiving a response from a server, that	     is, if it doesn't send anything in a number of secs. The default here is	     no timeout. It can be accessed in the	     HTHost object as well.  o 	     The timeout before we flush pending requests in a pipeline, the default here	     is 30 ms. It is also accessed in the HTHost    object  o 	     The timeout before we start sending the body of a PUT or    POST request. Normally we send the Expect: 100-continue    header field but if the server doesn't send back a 100 Continue    code then we upload the body anyway. The default is 2 secs and can be accessed    in the HTTP module.*/#ifndef HTTIMER_H#define HTTIMER_H#include "wwwsys.h"#include "HTReq.h"typedef struct _HTTimer HTTimer;typedef int HTTimerCallback (HTTimer *, void *, HTEventType type);/*.  Create and Delete Timers.The callback function is the function that is to be called when timer expires.*/extern HTTimer * HTTimer_new (HTTimer *, HTTimerCallback *, 			      void *, ms_t millis,                              BOOL relative, BOOL repetitive);extern BOOL HTTimer_delete (HTTimer * timer);extern BOOL HTTimer_deleteAll (void);extern BOOL HTTimer_expireAll (void);/*.  Dispatch Timer.Just do it*/extern int HTTimer_dispatch (HTTimer * timer);/*(  Get the next timer in line)Dispatches all expired timers and optionally returns the time till the nextone.*/extern int HTTimer_next (ms_t * pSoonest);/*(  Reset an already existing Repetitive Timer)*/extern BOOL HTTimer_refresh(HTTimer * timer, ms_t now);/*.  Get Information about a Timer Object.(  Absolute Time when This Timer Expires)Absolute time in millies when this timer will expire*/extern ms_t HTTimer_expiresAbsolute (HTTimer * timer);/*(  Relative Time this Timer is running)Gived the relative time in millies that this timer was registered with. Forexample, a relative timer set to expire in 20ms will return 20.*/#define HTTimer_getTime(t)	HTTimer_expiresRelative(t)extern ms_t HTTimer_expiresRelative (HTTimer * timer);/*(  Has this Timer Expired?)If so then it's time to call the dispatcher!*/extern BOOL HTTimer_hasTimerExpired (HTTimer * timer);/*(  What callback is this Timer Registered with?)*/extern HTTimerCallback * HTTimer_callback (HTTimer * timer);/*(  Is this Time relative or Absolute?)*/extern BOOL HTTimer_isRelative (HTTimer * timer);/*.  Platform Specific Timers.On some platform, timers are supported via events or other OS specificmechanisms. You can make libwww can support these by registering a platformspecific timer add and timer delete method.*/typedef BOOL HTTimerSetCallback (HTTimer * timer);extern BOOL HTTimer_registerSetTimerCallback (HTTimerSetCallback * cbf);extern BOOL HTTimer_registerDeleteTimerCallback (HTTimerSetCallback * cbf);/**/#endif /* HTTIMER_H *//*    @(#) $Id: HTTimer.html,v 2.11 1999/06/30 21:05:13 frystyk Exp $*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -