CMGDK r49-rc2
|
00001 # i f n d e f 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 _ 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 _ T C P _ A C C E P T _ M A N A G E _ 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 S o c k e t . H > 00008 00009 # 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 P o o l . h > 00010 00011 s t r u c t s o c k a d d r _ i n ; 00012 00013 n a m e s p a c e h g l 00014 00015 { 00016 00017 n a m e s p a c e n e t w o r k 00018 00019 { 00020 00021 c l a s s T C P A c c e p t ; 00022 00023 00024 00025 / * * 00026 00027 * T C P 00028 gRhVceQ{tW{|< b r > 00029 00030 * dk{|:NceQ{tv{US[s N,`QN _SL~b< / p > 00031 00032 * :NNHN 00033 N\T C P S e r v e r NKNTv^bTvQvv/f:NNSN N*NT C P S e r v e r [cY*NT C P A c c e p t M a n a g e 00034 00035 * / 00036 00037 c l a s s T C P A c c e p t M a n a g e 00038 00039 { 00040 00041 f r i e n d c l a s s T C P S e r v e r ; 00042 00043 f r i e n d c l a s s T C P A c c e p t T h r e a d ; 00044 00045 f r i e n d c l a s s T C P A c c e p t ; 00046 00047 00048 00049 p r o t e c t e d : 00050 00051 00052 00053 u i n t m a x _ u s e r ; / / / < g'Y(u7bpeϑ 00054 00055 u i n t u s e r _ c o u n t ; / / / < (u7bpeϑ 00056 00057 00058 00059 i n t s o c k e t _ b u f f e r _ s i z e ; / / / < Q:S'Y\ 00060 00061 00062 00063 p r o t e c t e d : / / Zbel >mu{|~b 00064 00065 00066 00067 v i r t u a l i n t I n i t S o c k e t ( ) ; / / / < R^s o c k e t 00068 00069 00070 00071 v i r t u a l b o o l S t a r t S e r v e r ( ) { r e t u r n t r u e ; } / / / < 00072 gRhV _/TN( wNN؞Qpe:Nzz) 00073 00074 v i r t u a l v o i d S t o p S e r v e r ( ) { } / / / < 00075 gRhVsQ핆N( wNN؞Qpe:Nzz) 00076 00077 00078 00079 v i r t u a l 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 * ) ; / / / < R^ceQ, ^;N~zNN, rz~z 00080 00081 v i r t u a l v o i d _ C l e a r A c c e p t ( T C P A c c e p t * ) ; / / / < ndceQ, ^;N~zNN, Y~z 00082 Nnx[ 00083 00084 00085 00086 v i r t u a l 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 * ) ; / / / < R^ceQ 00087 00088 v i r t u a l v o i d C l e a r A c c e p t ( T C P A c c e p t * ) ; / / / < ndceQ 00089 00090 00091 00092 p u b l i c : / / NN 00093 00094 00095 00096 D e f E v e n t ( v o i d , O n C r e a t e A c c e p t , ( T C P A c c e p t * ) ) ; / / / < R^ceQNN 00097 00098 D e f E v e n t ( v o i d , O n C l e a r A c c e p t , ( T C P A c c e p t * ) ) ; / / / < ndceQNN 00099 00100 00101 00102 p u b l i c : 00103 00104 00105 00106 T 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 = H G L _ T C P _ A C C E P T _ B U F F E R _ S I Z E ) ; 00107 00108 v i r t u a l ~ T C P A c c e p t M a n a g e ( ) ; 00109 00110 00111 00112 v o i d G e t A c c e p t C o u n t ( u i n t & c u r , u i n t & m a x ) { c u r = u s e r _ c o u n t ; m a x = m a x _ u s e r ; } / / / < S_ޏcpe 00113 00114 b o o l G e t A c c e p t F u l l ( ) { r e t u r n u s e r _ c o u n t > = m a x _ u s e r ; } / / / < /f&TceQ]n 00115 00116 00117 00118 v i r t u a l b o o l U p d a t e ( ) ; / / / < 7Re 00119 00120 } ; / / c l a s s T C P A c c e p t M a n a g e 00121 00122 } / / n a m e s p a c e n e t w o r k 00123 00124 } / / n a m e s p a c e h g l 00125 00126 # e n d i f / / 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 _ I N C L U D E 00127 00128