comparison sources/network.cpp @ 5:0faceb076254

code clean up added PID to the default Core argument bool => true|false
author Vlad Glagolev <enqlave@gmail.com>
date Thu, 24 Jan 2008 21:00:52 +0300
parents a7051ac7118b
children 9be05a31b7f9
comparison
equal deleted inserted replaced
4:a7051ac7118b 5:0faceb076254
71 } 71 }
72 72
73 err = recv(cs, &cbuffer, 1, 0); 73 err = recv(cs, &cbuffer, 1, 0);
74 74
75 if (!err) 75 if (!err)
76 shut ("remote server closed connection"); 76 shut("remote server closed connection");
77 else if (err < 0) 77 else if (err < 0)
78 shut ("failed to receive data"); 78 shut("failed to receive data");
79 else 79 else
80 sbuffer += cbuffer; 80 sbuffer += cbuffer;
81 } 81 }
82 } else if (!err) 82 } else if (!err)
83 shut ("remote server closed connection"); 83 shut("remote server closed connection");
84 84
85 return sbuffer; 85 return sbuffer;
86 } 86 }
87 87
88 return ""; 88 return "";
89 } 89 }
90 90
91 bool Network::resolveHost(pchar name, struct address_type *a, int inet) 91 bool Network::resolveHost(pchar name, struct address_type *a, int inet)
92 { 92 {
93 #ifdef ENABLE_IPV6 93 #ifdef ENABLE_IPV6
94 bool e = 0; 94 bool e = false;
95 95
96 struct addrinfo hints, *res, *reso; 96 struct addrinfo hints, *res, *reso;
97 struct sockaddr_in *in; 97 struct sockaddr_in *in;
98 struct sockaddr_in6 *in6; 98 struct sockaddr_in6 *in6;
99 99
112 case AF_INET6: 112 case AF_INET6:
113 a->inet = AF_INET6; 113 a->inet = AF_INET6;
114 in6 = (struct sockaddr_in6 *)res->ai_addr; 114 in6 = (struct sockaddr_in6 *)res->ai_addr;
115 memcpy (&a->sa6.sin6_addr, &in6->sin6_addr, \ 115 memcpy (&a->sa6.sin6_addr, &in6->sin6_addr, \
116 sizeof (struct in6_addr)); 116 sizeof (struct in6_addr));
117 e = 1; 117 e = true;
118 break; 118 break;
119 case AF_INET: 119 case AF_INET:
120 a->inet = AF_INET; 120 a->inet = AF_INET;
121 in = (struct sockaddr_in *)res->ai_addr; 121 in = (struct sockaddr_in *)res->ai_addr;
122 memcpy (&a->sa.sin_addr, &in->sin_addr, \ 122 memcpy (&a->sa.sin_addr, &in->sin_addr, \
123 sizeof (struct in_addr)); 123 sizeof (struct in_addr));
124 e = 1; 124 e = true;
125 break; 125 break;
126 default: 126 default:
127 e = 0; 127 e = false;
128 } 128 }
129 } 129 }
130 130
131 if (e) 131 if (e)
132 break; 132 break;
174 174
175 int e; 175 int e;
176 176
177 #ifdef ENABLE_IPV6 177 #ifdef ENABLE_IPV6
178 if (a.inet == AF_INET6) 178 if (a.inet == AF_INET6)
179 e = bind(cs, (struct sockaddr *)&a.sa6, sizeof (a.sa6)); 179 e = bind(cs, (struct sockaddr *)&a.sa6, sizeof(a.sa6));
180 else 180 else
181 #endif // ENABLE_IPV6 181 #endif // ENABLE_IPV6
182 e = bind(cs, (struct sockaddr *)&a.sa, sizeof (a.sa)); 182 e = bind(cs, (struct sockaddr *)&a.sa, sizeof(a.sa));
183 183
184 if (e == -1) { 184 if (e == -1) {
185 close(cs); 185 close(cs);
186 return 0; 186 return 0;
187 } 187 }
205 setsockopt(cs, IPPROTO_TCP, TCP_NODELAY, (pchar)&parm, sizeof(parm)); 205 setsockopt(cs, IPPROTO_TCP, TCP_NODELAY, (pchar)&parm, sizeof(parm));
206 206
207 connected = 0; 207 connected = 0;
208 connecting = 1; 208 connecting = 1;
209 209
210 cout << "NETWORK: socket opened........... " << cs << endl; 210 cout << "NETWORK: socket opened..........: " << cs << endl;
211 211
212 return 1; 212 return 1;
213 } 213 }
214 214
215 bool Network::openHost() 215 bool Network::openHost()
222 #endif // ENABLE_IPV6 222 #endif // ENABLE_IPV6
223 e = connect(cs, (struct sockaddr *)&address.sa, sizeof(address.sa)); 223 e = connect(cs, (struct sockaddr *)&address.sa, sizeof(address.sa));
224 224
225 if (e == -1) { 225 if (e == -1) {
226 if (errno == EISCONN) { 226 if (errno == EISCONN) {
227 connected = 1; 227 connected = true;
228 connecting = 0; 228 connecting = false;
229 229
230 return 1; 230 return 1;
231 } 231 }
232 232
233 if (errno != EWOULDBLOCK && errno != EINPROGRESS && errno != EALREADY) { 233 if (errno != EWOULDBLOCK && errno != EINPROGRESS && errno != EALREADY) {
234 closeSocket(); 234 closeSocket();
235 235
236 connecting = 0; 236 connecting = false;
237 237
238 return 0; 238 return 0;
239 } 239 }
240 240
241 return 1; 241 return 1;
242 } 242 }
243 243
244 connected = 1; 244 connected = true;
245 connecting = 0; 245 connecting = false;
246 246
247 cout << "NETWORK: socket connected........ " << cs << endl; 247 cout << "NETWORK: socket connected.......: " << cs << endl;
248 248
249 return 1; 249 return 1;
250 } 250 }
251 251
252 bool Network::closeSocket() 252 bool Network::closeSocket()