sched.c File Reference

#include "nsd.h"

Data Structures

struct  Event

Defines

#define EXCH(i, j)

Functions

void NsInitSched (void)
int Ns_After (int delay, Ns_Callback *proc, void *arg, Ns_Callback *deleteProc)
int Ns_ScheduleProc (Ns_Callback *proc, void *arg, int thread, int interval)
int Ns_ScheduleDaily (Ns_SchedProc *proc, void *clientData, int flags, int hour, int minute, Ns_SchedProc *cleanupProc)
int Ns_ScheduleWeekly (Ns_SchedProc *proc, void *clientData, int flags, int day, int hour, int minute, Ns_SchedProc *cleanupProc)
int Ns_ScheduleProcEx (Ns_SchedProc *proc, void *arg, int flags, int interval, Ns_SchedProc *deleteProc)
void Ns_UnscheduleProc (int id)
int Ns_Cancel (int id)
int Ns_Pause (int id)
int Ns_Resume (int id)
void NsStartSchedShutdown (void)
void NsWaitSchedShutdown (Ns_Time *toPtr)
void NsGetScheduled (Tcl_DString *dsPtr)

Define Documentation

#define EXCH ( i,
 ) 

Value:

{\
        Event *tmp = queue[(i)];\
        queue[(i)] = queue[(j)], queue[(j)] = tmp;\
        queue[(i)]->qid = (i), queue[(j)]->qid = (j);\
    }
Macro to exchange two events in the heap, used in QueueEvent() and DeQueueEvent().


Function Documentation

int Ns_After ( int  delay,
Ns_Callback *  proc,
void *  arg,
Ns_Callback *  deleteProc 
)

----------------------------------------------------------------------

Ns_After --

Schedule a one-shot event.

Results: Event id or NS_ERROR if delay is out of range.

Side effects: See Ns_ScheduleProcEx().

----------------------------------------------------------------------

int Ns_Cancel ( int  id  ) 

int Ns_Pause ( int  id  ) 

----------------------------------------------------------------------

Ns_Pause --

Pause a schedule procedure.

Results: 1 if proc paused, 0 otherwise.

Side effects: Proc will not run at the next scheduled time.

----------------------------------------------------------------------

int Ns_Resume ( int  id  ) 

----------------------------------------------------------------------

Ns_Resume --

Resume a scheduled proc.

Results: 1 if proc resumed, 0 otherwise.

Side effects: Proc will be rescheduled.

----------------------------------------------------------------------

int Ns_ScheduleDaily ( Ns_SchedProc *  proc,
void *  clientData,
int  flags,
int  hour,
int  minute,
Ns_SchedProc *  cleanupProc 
)

----------------------------------------------------------------------

Ns_ScheduleDaily --

Schedule a proc to run once a day.

Results: Event id or NS_ERROR if hour and/or minute is out of range.

Side effects: See Ns_ScheduleProcEx

----------------------------------------------------------------------

int Ns_ScheduleProc ( Ns_Callback *  proc,
void *  arg,
int  thread,
int  interval 
)

----------------------------------------------------------------------

Ns_ScheduleProc --

Schedule a proc to run at a given interval.

Results: Event id or NS_ERROR if interval is invalid.

Side effects: See Ns_ScheduleProcEx().

----------------------------------------------------------------------

int Ns_ScheduleProcEx ( Ns_SchedProc *  proc,
void *  arg,
int  flags,
int  interval,
Ns_SchedProc *  deleteProc 
)

----------------------------------------------------------------------

Ns_ScheduleProcEx --

Schedule a proc to run at a given interval. The interpretation of interval (whether interative, daily, or weekly) is handled by QueueEvent.

Results: Event id of NS_ERROR if interval is out of range.

Side effects: Event is allocated, hashed, and queued.

----------------------------------------------------------------------

int Ns_ScheduleWeekly ( Ns_SchedProc *  proc,
void *  clientData,
int  flags,
int  day,
int  hour,
int  minute,
Ns_SchedProc *  cleanupProc 
)

----------------------------------------------------------------------

Ns_ScheduleWeekly --

Schedule a proc to run once a week.

Results: Event id or NS_ERROR if day, hour, and/or minute is out of range.

Side effects: See Ns_ScheduleProcEx

----------------------------------------------------------------------

void Ns_UnscheduleProc ( int  id  ) 

----------------------------------------------------------------------

Ns_Cancel, Ns_UnscheduleProc --

Cancel a previously scheduled event.

Results: Ns_UnscheduleProc: None. Ns_Cancel: 1 if cancelled, 0 otherwise.

Side effects: See FreeEvent().

----------------------------------------------------------------------

void NsGetScheduled ( Tcl_DString *  dsPtr  ) 

void NsInitSched ( void   ) 

----------------------------------------------------------------------

NsInitSched --

Initialize scheduler API.

Results: None.

Side effects: None.

----------------------------------------------------------------------

void NsStartSchedShutdown ( void   ) 

----------------------------------------------------------------------

NsStartSchedShutdown, NsWaitSchedShutdown --

Inititiate and then wait for sched shutdown.

Results: None.

Side effects: May timeout waiting for sched shutdown.

----------------------------------------------------------------------

void NsWaitSchedShutdown ( Ns_Time *  toPtr  ) 


Generated on Tue Sep 4 19:58:56 2007 by  doxygen 1.5.1