CMGDK r49-rc2
|
00001 # i f n d e f H G L _ N E T W O R K _ I O C P _ S E R V E R _ I N C L U D E 00002 00003 # d e f i n e H G L _ N E T W O R K _ I O C P _ S E R V E R _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / n e t w o r k / T C P A c c e p t M a n a g e . H > 00008 00009 # i n c l u d e < h g l / n e t w o r k / I O C P A c c e p t . H > 00010 00011 # i f H G L _ O S = = H G L _ O S _ W i n d o w s 00012 00013 # i n c l u d e < w i n d o w s . h > 00014 00015 n a m e s p a c e h g l 00016 00017 { 00018 00019 n a m e s p a c e n e t w o r k 00020 00021 { 00022 00023 c l a s s I O C P A c c e p t M a n a g e : p u b l i c T C P A c c e p t M a n a g e 00024 00025 { 00026 00027 H A N D L E i o c p _ h a n d l e ; 00028 00029 00030 00031 i n t t h r e a d _ c o u n t ; 00032 00033 H A N D L E * w o r k _ t h r e a d ; 00034 00035 00036 00037 t y p e d e f T C P A c c e p t P o o l < I O C P A c c e p t M a n a g e , I O C P A c c e p t > I O C P A c c e p t P o o l ; 00038 00039 00040 00041 I O C P A c c e p t P o o l * a c c e p t _ p o o l ; 00042 00043 00044 00045 p r i v a t e : 00046 00047 00048 00049 i n t I n i t S o c k e t ( ) ; 00050 00051 00052 00053 b o o l I n i t I O C P ( ) ; 00054 00055 v o i d C l o s e I O C P ( ) ; 00056 00057 00058 00059 p r i v a t e : / / ~bvel 00060 00061 00062 00063 b o o l C r e a t e S e r v e r ( c o n s t c h a r * , u i n t , u i n t ) ; 00064 00065 b o o l S t a r t S e r v e r ( ) ; 00066 00067 v o i d S t o p S e r v e r ( ) ; 00068 00069 00070 00071 T C P A c c e p t * _ C r e a t e A c c e p t ( i n t , s o c k a d d r _ i n * ) ; 00072 00073 v o i d _ C l e a r A c c e p t ( T C P A c c e p t * ) ; 00074 00075 00076 00077 p u b l i c : 00078 00079 00080 00081 I O C P A c c e p t M a n a g e ( u i n t _ m a x _ u s e r , i n t _ m a x _ t h r e a d = - 1 , i n t = H G L _ T C P _ A C C E P T _ B U F F E R _ S I Z E ) ; 00082 00083 v i r t u a l ~ I O C P A c c e p t M a n a g e ( ) ; 00084 00085 00086 00087 v o i d W o r k T h r e a d ( ) ; 00088 00089 } ; / / c l a s s I O C P A c c e p t M a n a g e 00090 00091 } / / n a m e s p a c e n e t w o r k 00092 00093 } / / n a m e s p a c e h g l 00094 00095 # e n d i f H G L _ O S = = H G L _ O S _ W i n d o w s 00096 00097 # e n d i f / / H G L _ N E T W O R K _ I O C P _ S E R V E R _ I N C L U D E 00098 00099