![]() |
CMGDK r49-rc2
|
00001 # i f n d e f H G L _ T 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 _ T 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 S o c k e t . H > 00008 00009 n a m e s p a c e h g l 00010 00011 { 00012 00013 c l a s s T h r e a d ; 00014 00015 c l a s s A c c e p t T h r e a d M u t e x ; 00016 00017 00018 00019 n a m e s p a c e n e t w o r k 00020 00021 { 00022 00023 e n u m T C P S e r v e r M o d e ; 00024 00025 00026 00027 c l a s s T C P A c c e p t ; 00028 00029 c l a s s T C P A c c e p t M a n a g e ; 00030 00031 c l a s s T C P A c c e p t T h r e a d ; 00032 00033 00034 00035 / * * 00036 00037 * T C P S e r v e r /f[^T C P ޏcYtv(u 00038 gRhVz 00039 00040 * / 00041 00042 c l a s s T C P S e r v e r : p u b l i c S o c k e t / / / T C P 00043 gRhVz[sW{| 00044 00045 { 00046 00047 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 ; 00048 00049 00050 00051 p r o t e c t e d : 00052 00053 00054 00055 T C P A c c e p t M a n a g e * A c c e p t M a n a g e ; / / / < ceQ{thV 00056 00057 T C P A c c e p t T h r e a d * A c c e p t T h r e a d ; / / / < ceQ~z 00058 00059 00060 00061 T h r e a d M u t e x * A c c e p t T h r e a d M u t e x ; / / / < ~zce 00062 00063 00064 00065 b o o l O n S t a r t A c c e p t T h r e a d ( T h r e a d * ) ; / / / < ceQ~zwYNN 00066 00067 v o i d O n E n d A c c e p t T h r e a d ( T h r e a d * ) ; / / / < ceQ~z~_gNN 00068 00069 00070 00071 d o u b l e t i m e _ o u t ; / / / < ee 00072 00073 00074 00075 d o u b l e G e t T i m e O u t ( ) { r e t u r n t i m e _ o u t ; } 00076 00077 v o i d S e t T i m e O u t ( d o u b l e ) ; 00078 00079 00080 00081 p u b l i c : 00082 00083 00084 00085 P r o p e r t y < d o u b l e > T i m e O u t ; / / / < ee^\'` 00086 00087 00088 00089 p u b l i c : / / el 00090 00091 00092 00093 T C P S e r v e r ( T C P A c c e p t M a n a g e * ) ; 00094 00095 v i r t u a l ~ T C P S e r v e r ( ) ; 00096 00097 00098 00099 v i r t u a l 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 ) ; / / / < R^ 00100 gRhV 00101 00102 b o o l C r e a t e S e r v e r ( u i n t p o r t ) { r e t u r n C r e a t e S e r v e r ( " 0 . 0 . 0 . 0 " , p o r t ) ; } / / / < R^ 00103 gRhV( ~[,g:g@b gI P ) 00104 00105 v i r t u a l v o i d C l o s e S e r v e r ( ) ; / / / < sQ 00106 gRhV 00107 00108 00109 00110 p u b l i c : / / lNNel(WT N*N 00111 gRhV-NSO(u(uvQ-N Ny 00112 00113 00114 00115 v i r t u a l i n t A c c e p t ( ) ; / / / < TekYtceQ, 00116 NTS t a r t A c c e p t T h r e a d TeO(u 00117 00118 00119 00120 v i r t u a l b o o l S t a r t A c c e p t T h r e a d ( ) ; / / / < /TR~z_ekYtceQ, 00121 NTA c c e p t TeO(u 00122 00123 v i r t u a l i n t W a i t A c c e p t T h r e a d ( d o u b l e = H G L _ T C P _ T I M E _ O U T ) ; / / / < I{_ceQ~zsQ, 0 h:yePI{_ 00124 00125 } ; / / c l a s s T C P S e r v e r 00126 00127 } / / n a m e s p a c e n e t w o r k 00128 00129 00130 00131 u s i n g n a m e s p a c e n e t w o r k ; 00132 00133 } / / n a m e s p a c e h g l 00134 00135 # e n d i f / / H G L _ T C P _ S E R V E R _ I N C L U D E 00136 00137