You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
proxysql/include/mysql_session.h

66 lines
1.4 KiB

#ifndef __CLASS_MYSQL_SESSION_H
#define __CLASS_MYSQL_SESSION_H
#include "proxysql.h"
#include "cpp.h"
class MySQL_Session_userinfo {
public:
char *username;
char *password;
char *schemaname;
MySQL_Session_userinfo();
~MySQL_Session_userinfo();
void set(char *, char *, char *);
void set(MySQL_Session_userinfo *);
};
class MySQL_Session
{
public:
void * operator new(size_t);
void operator delete(void *);
MySQL_Thread *thread;
// enum session_states sess_states;
QP_out_t *qpo;
int healthy;
bool admin;
void (*admin_func) (MySQL_Session *arg);
int client_fd;
int server_fd;
enum session_status status;
int to_process;
unsigned long long pause;
MySQL_Session_userinfo userinfo_client;
MySQL_Session_userinfo userinfo_server;
// char *username;
// char *password;
// char *schema_name;
// char *schema_cur;
// char *schema_new;
int net_failure;
MySQL_Data_Stream *client_myds;
MySQL_Data_Stream *server_myds;
//GPtrArray *mybes;
MySQL_Backend *mybe;
PtrArray *mybes;
MySQL_Session();
MySQL_Session(int);
~MySQL_Session();
MySQL_Protocol myprot_client;
MySQL_Protocol myprot_server;
int handler();
MySQL_Backend * find_backend(int);
MySQL_Backend * create_backend(int, MySQL_Data_Stream *);
MySQL_Backend * find_or_create_backend(int, MySQL_Data_Stream *);
void reset_all_backends();
void writeout();
};
#endif /* __CLASS_MYSQL_SESSION_H */