Mercurial > cabal
diff sources/network.cpp @ 2:19227b0b7cc1
.h => .hpp for the headers
added year 2008 to copyright notes
renamed some functions for better meaning
prepared parser module for rewriting
added showHelp() function
some code clean up
| author | Vlad Glagolev <enqlave@gmail.com> |
|---|---|
| date | Mon, 21 Jan 2008 01:14:10 +0300 |
| parents | bafff9de2a76 |
| children | a7051ac7118b |
line wrap: on
line diff
--- a/sources/network.cpp Sun Jan 20 19:32:59 2008 +0300 +++ b/sources/network.cpp Mon Jan 21 01:14:10 2008 +0300 @@ -3,7 +3,7 @@ * * -- CABAL -- network essentials (sockets, etc.) * - * Copyright (c) 2007 Vlad Glagolev <enqlave@gmail.com> + * Copyright (c) 2007-2008 Vlad Glagolev <enqlave@gmail.com> * All rights reserved. * * Permission to use, copy, modify, and distribute this software for any @@ -19,7 +19,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "cabal.h" // required: network.h +#include "cabal.hpp" // required: network.hpp Network::Network() { @@ -33,36 +33,36 @@ cout << "NETWORK: offline\n"; } -void Network::msgSend (string data) +void Network::sendMsg(string m) { if (cs == -1) return; if (CABAL->debug) - cout << "<- " << cs << " -- " << data << endl; + cout << "<- " << cs << " -- " << m << endl; - send (cs, (data + "\n").c_str(), (data + "\n").size(), 0); + send(cs, (m + "\n").c_str(), (m + "\n").size(), 0); } -string Network::msgReceive() +string Network::receiveMsg() { if (cs == -1) return 0; - if (canRead(cs) == 1) { + if (canRead(cs)) { string sbuffer = ""; char cbuffer; - int err = recv (cs, &cbuffer, 1, 0); + int err = recv(cs, &cbuffer, 1, 0); if (err > 0) { sbuffer += cbuffer; while (1) { if (sbuffer[sbuffer.size() - 1] == '\n') { - sbuffer = (sbuffer.substr (0, 1) == ":") - ? sbuffer.substr (1, sbuffer.size() - 3) - : sbuffer.substr (0, sbuffer.size() - 2); + sbuffer = (sbuffer.substr(0, 1) == ":") + ? sbuffer.substr(1, sbuffer.size() - 3) + : sbuffer.substr(0, sbuffer.size() - 2); if (CABAL->debug) cout << "-> " << cs << " -- " << sbuffer << endl; @@ -70,16 +70,16 @@ return sbuffer; } - err = recv (cs, &cbuffer, 1, 0); + err = recv(cs, &cbuffer, 1, 0); - if (err == 0) + if (!err) shut ("remote server closed connection"); else if (err < 0) shut ("failed to receive data"); else sbuffer += cbuffer; } - } else if (err == 0) + } else if (!err) shut ("remote server closed connection"); return sbuffer; @@ -107,7 +107,7 @@ reso = res; - while (res != 0) { + while (res) { if (!inet || res->ai_family == inet) { switch (res->ai_family) { case AF_INET6: @@ -135,26 +135,26 @@ res = res->ai_next; } - freeaddrinfo (reso); + freeaddrinfo(reso); return e; #else - if (inet != 0 && inet != AF_INET) + if (inet && inet != AF_INET) return 0; a->inet = AF_INET; struct hostent *he; - if ((he = gethostbyname (name)) == 0) { - a->sa.sin_addr.s_addr = inet_addr (name); + if (!(he = gethostbyname(name))) { + a->sa.sin_addr.s_addr = inet_addr(name); - if (a->sa.sin_addr.s_addr == 1) + if (a->sa.sin_addr.s_addr) return 0; } else - memcpy (&a->sa.sin_addr.s_addr, he->h_addr_list[0], he->h_length); + memcpy(&a->sa.sin_addr.s_addr, he->h_addr_list[0], he->h_length); return 1; @@ -163,16 +163,16 @@ bool Network::tcpActivate (int port, pchar host) { - cs = socket (address.inet, SOCK_STREAM, IPPROTO_TCP); + cs = socket(address.inet, SOCK_STREAM, IPPROTO_TCP); if (cs == -1) return 0; - if (host != 0) { + if (host) { struct address_type a; - if (!hostResolve (host, &a, address.inet)) { - close (cs); + if (!hostResolve(host, &a, address.inet)) { + close(cs); return 0; } @@ -180,13 +180,13 @@ #ifdef ENABLE_IPV6 if (a.inet == AF_INET6) - e = bind (cs, (struct sockaddr *)&a.sa6, sizeof (a.sa6)); + e = bind(cs, (struct sockaddr *)&a.sa6, sizeof (a.sa6)); else #endif // ENABLE_IPV6 - e = bind (cs, (struct sockaddr *)&a.sa, sizeof (a.sa)); + e = bind(cs, (struct sockaddr *)&a.sa, sizeof (a.sa)); if (e == -1) { - close (cs); + close(cs); return 0; } } @@ -194,19 +194,19 @@ #ifdef ENABLE_IPV6 if (address.inet == AF_INET6) { address.sa6.sin6_family = AF_INET6; - address.sa6.sin6_port = htons (port); + address.sa6.sin6_port = htons(port); } else { #endif // ENABLE_IPV6 address.sa.sin_family = AF_INET; - address.sa.sin_port = htons (port); + address.sa.sin_port = htons(port); #ifdef ENABLE_IPV6 } #endif // ENABLE_IPV6 socklen_t parm; - setsockopt (cs, IPPROTO_TCP, TCP_NODELAY, (pchar)&parm, sizeof (parm)); + setsockopt(cs, IPPROTO_TCP, TCP_NODELAY, (pchar)&parm, sizeof(parm)); connected = 0; connecting = 1; @@ -219,13 +219,12 @@ bool Network::hostOpen() { int e; - #ifdef ENABLE_IPV6 if (address.inet == AF_INET6) - e = connect (cs, (struct sockaddr *)&address.sa6, sizeof (address.sa6)); + e = connect(cs, (struct sockaddr *)&address.sa6, sizeof(address.sa6)); else #endif // ENABLE_IPV6 - e = connect (cs, (struct sockaddr *)&address.sa, sizeof (address.sa)); + e = connect(cs, (struct sockaddr *)&address.sa, sizeof(address.sa)); if (e == -1) { if (errno == EISCONN) { @@ -266,32 +265,32 @@ return 1; } -int Network::canRead (int socket) +int Network::canRead(int socket) { - FD_ZERO (&rs); - FD_SET (socket, &rs); + FD_ZERO(&rs); + FD_SET(socket, &rs); timeout.tv_sec = 0; timeout.tv_usec = 1; - int e = select (socket + 1, &rs, 0, 0, &timeout); + int e = select(socket + 1, &rs, 0, 0, &timeout); - FD_ZERO (&rs); + FD_ZERO(&rs); return e; } -int Network::canWrite (int socket) +int Network::canWrite(int socket) { - FD_ZERO (&ws); - FD_SET (socket, &ws); + FD_ZERO(&ws); + FD_SET(socket, &ws); timeout.tv_sec = 0; timeout.tv_usec = 1; - int e = select (socket + 1, 0, &ws, 0, &timeout); + int e = select(socket + 1, 0, &ws, 0, &timeout); - FD_ZERO (&ws); + FD_ZERO(&ws); return e; }
