mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / storage / ndb / include / util / SocketClient.hpp
blob4f37ed8a59ce358e380db3fdc8d69198ac04b98f
1 /* Copyright (c) 2003-2007 MySQL AB
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 of the License.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
16 #ifndef SOCKET_CLIENT_HPP
17 #define SOCKET_CLIENT_HPP
19 #include <NdbTCP.h>
20 class SocketAuthenticator;
22 class SocketClient
24 NDB_SOCKET_TYPE m_sockfd;
25 struct sockaddr_in m_servaddr;
26 unsigned int m_connect_timeout_sec;
27 unsigned short m_port;
28 char *m_server_name;
29 SocketAuthenticator *m_auth;
30 public:
31 SocketClient(const char *server_name, unsigned short port, SocketAuthenticator *sa = 0);
32 ~SocketClient();
33 bool init();
34 void set_port(unsigned short port) {
35 m_port = port;
36 m_servaddr.sin_port = htons(m_port);
38 void set_connect_timeout(unsigned int s) {
39 m_connect_timeout_sec= s;
41 unsigned short get_port() { return m_port; };
42 char *get_server_name() { return m_server_name; };
43 int bind(const char* toaddress, unsigned short toport);
44 NDB_SOCKET_TYPE connect(const char* toaddress = 0, unsigned short port = 0);
45 bool close();
48 #endif // SOCKET_ClIENT_HPP