NetBurner 3.1
servlets.h
1 /*NB_REVISION*/
2 
3 /*NB_COPYRIGHT*/
4 
5 #ifndef _NB_SERVLET_H
6 #define _NB_SERVLET_H
7 
8 #include <iosys.h>
9 #include <nbrtos.h>
10 
11 class servlet_list;
12 
13 class servlet
14 {
15  servlet *pNext;
16  servlet_list *pOwner;
17 
18  public:
19  servlet(servlet_list *whereToAdd);
20  servlet();
21  ~servlet();
22 
23  // Also returns the number of seconds needed for timeout/recycle...
24  virtual int AddToSelectSet(fd_set &rd_set, fd_set &wr_set, fd_set &er_set) = 0;
25  virtual void ProcessSelectResult(fd_set &rd_set, fd_set &wr_set, fd_set &er_set) = 0;
26  friend class servlet_list;
27 };
28 
29 class servlet_list
30 {
31  servlet *pHead;
32  OS_CRIT ListCritical;
33  OS_SEM m_Sem;
34 
35  public:
36  servlet_list();
37  ~servlet_list();
38  void add(servlet *ps);
39  void remove(servlet *ps);
40  void run_once_through_select_loop(int max_timeout_ticks);
41 };
42 
43 #endif
NetBurner Real-Time Operating System API.
NetBurner I/O System Library API.
Semaphores are used to control access to shared resource critical section, or to communicate between ...
Definition: nbrtos.h:318
An OS_CRIT object is used to establish critical sections of code that can only be run by one task at ...
Definition: nbrtos.h:893