diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:47 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:47 +0200 |
| commit | ee315a27b72dc967a8a90f132725b7c8e4fd9fba (patch) | |
| tree | 349db556063b17a3c84dc9348495bd11d73b0417 /src/sock/sock.h | |
| parent | 630af0ed6c0af69c7df2e45aef7a87722a3c00c0 (diff) | |
tagging ychat-0.7.5ychat-0.7.5
Diffstat (limited to 'src/sock/sock.h')
| -rwxr-xr-x[-rw-r--r--] | src/sock/sock.h | 108 |
1 files changed, 32 insertions, 76 deletions
diff --git a/src/sock/sock.h b/src/sock/sock.h index 914c366..7023be5 100644..100755 --- a/src/sock/sock.h +++ b/src/sock/sock.h @@ -1,27 +1,3 @@ -/*:* - *: File: ./src/sock/sock.h - *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE - *: - *: Copyright (C) 2003 Paul C. Buetow, Volker Richter - *: Copyright (C) 2004 Paul C. Buetow - *: Copyright (C) 2005 EXA Digital Solutions GbR - *: - *: This program is free software; you can redistribute it and/or - *: modify it under the terms of the GNU General Public License - *: as published by the Free Software Foundation; either version 2 - *: of the License, or (at your option) any later version. - *: - *: This program is distributed in the hope that it will be useful, - *: but WITHOUT ANY WARRANTY; without even the implied warranty of - *: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - *: GNU General Public License for more details. - *: - *: You should have received a copy of the GNU General Public License - *: along with this program; if not, write to the Free Software - *: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - *:*/ - #include "../incl.h" #ifndef SOCK_H @@ -34,79 +10,59 @@ #include <netinet/in.h> #include <netdb.h> +#include "../thrd/pool.h" #include "../reqp.h" #include "../chat/user.h" - -#include "../thrd/pool.h" -#include "../maps/shashmap.h" - #ifdef LOGGING #include "../logd.h" #endif using namespace std; -class sock : public shashmap - < string, uint32_t, self_hash<uint32_t>, equals_allocator<uint32_t> > +class sock { -protected: -#ifdef LOGGING +private: + // total number of server requests. + unsigned long long i_req; - logd *log_daemon; // the log daemon + bool b_run; // true while socket manager is running. + reqp *req_parser; // parses the http requests from clients. + pool *thrd_pool; // the thread pool. +#ifdef LOGGING + logd *log_daemon; // the log daemon #endif + char *c_buffer; // char buffer! + int i_threads; // total amount of threads inside the thread pool. - int i_server_sock; - int i_server_port; - - // total number of server requests. - unsigned long long i_req; - bool b_run; // true while socket manager is running. - reqp *req_parser; // parses the http requests from clients. - char *c_buffer; // char buffer! - pthread_mutex_t mut_hits; - - static string inet_ntoa_callback(void* p_void); + pthread_mutex_t mut_hits; public: - // creates a server socket. - int read_http(socketcontainer *p_sock, char *c_zbuf, int i_buflen, int &i_payloadoffset); - string read_http_line(socketcontainer *p_sock); + // creates a server socket. + int make_server_socket( int i_port ); - // small inline methods: - bool get_server_() const - { - return b_run; - } - // small inline methods: - bool get_run() const - { - return b_run; - } - bool set_run( bool b_run ) - { - this->b_run = b_run; - } + // small inline methods: + bool get_run() const + { + return b_run; + } - sock(); + bool set_run( bool b_run ) + { + this->b_run = b_run; + } - int read_write( socketcontainer* p_sock ); + sock( ); + ~sock( ); - int start(); - void clean_ipcache(); + int read_write( int* p_sock ); + int start(); - // the chat stream there all the chat messages will sent through. - void chat_stream( socketcontainer* p_sock, user* p_user, map<string,string> &map_params ); //<< - virtual inline int _send(socketcontainer *p_sock, const char *sz, int len); - virtual inline int _read(socketcontainer *p_sock, char *sz, int len); - virtual inline int _close(socketcontainer *p_sock); - virtual void _main_loop_init(); - virtual inline socketcontainer* _create_container(int& i_sock); - virtual int _make_server_socket(int i_port); + // the chat stream there all the chat messages will sent through. + static void chat_stream( int i_sock, user* p_user, map<string,string> &map_params ); //<< #ifdef NCURSES - void print_server_port(); - void print_hits(); + void print_hits(); #endif - }; + #endif |
