Threaded TCP Server.
More...
#include <ktthserv.h>
List of all members.
Classes |
| class | Logger |
| | Interface to log internal information and errors. More...
|
| class | Session |
| | Interface to access each session data. More...
|
| class | SessionTask |
| | Task with a session.
|
| class | TaskQueueImpl |
| | Task queue implementation.
|
| class | Worker |
| | Interface to process each request. More...
|
Public Member Functions |
| | ThreadedServer () |
| | Default constructor.
|
| | ~ThreadedServer () |
| | Destructor.
|
| void | set_network (const std::string &expr, double timeout=-1) |
| | Set the network configurations.
|
| void | set_logger (Logger *logger, uint32_t kinds=Logger::SYSTEM|Logger::ERROR) |
| | Set the logger to process each log message.
|
| void | set_worker (Worker *worker, size_t thnum=1) |
| | Set the worker to process each request.
|
| bool | start () |
| | Start the service.
|
| bool | stop () |
| | Stop the service.
|
| bool | finish () |
| | Finish the service.
|
| void | log (Logger::Kind kind, const char *format,...) |
| | Log a message.
|
| void | log_v (Logger::Kind kind, const char *format, va_list ap) |
| | Log a message.
|
| int64_t | connection_count () |
| | Get the number of connections.
|
| int64_t | task_count () |
| | Get the number of tasks in the queue.
|
| bool | aborted () |
| | Check whether the thread is to be aborted.
|
Detailed Description
Constructor & Destructor Documentation
| kyototycoon::ThreadedServer::ThreadedServer |
( |
| ) |
[explicit] |
| kyototycoon::ThreadedServer::~ThreadedServer |
( |
| ) |
|
Member Function Documentation
| void kyototycoon::ThreadedServer::set_network |
( |
const std::string & |
expr, |
|
|
double |
timeout = -1 |
|
) |
| |
Set the network configurations.
- Parameters:
-
| expr | an expression of the address and the port of the server. |
| timeout | the timeout of each network operation in seconds. If it is not more than 0, no timeout is specified. |
| void kyototycoon::ThreadedServer::set_logger |
( |
Logger * |
logger, |
|
|
uint32_t |
kinds = Logger::SYSTEM | Logger::ERROR |
|
) |
| |
Set the logger to process each log message.
- Parameters:
-
| void kyototycoon::ThreadedServer::set_worker |
( |
Worker * |
worker, |
|
|
size_t |
thnum = 1 |
|
) |
| |
Set the worker to process each request.
- Parameters:
-
| worker | the worker object. |
| thnum | the number of worker threads. |
| bool kyototycoon::ThreadedServer::start |
( |
| ) |
|
Start the service.
- Returns:
- true on success, or false on failure.
- Note:
- This function blocks until the server stops by the ThreadedServer::stop method.
| bool kyototycoon::ThreadedServer::stop |
( |
| ) |
|
Stop the service.
- Returns:
- true on success, or false on failure.
| bool kyototycoon::ThreadedServer::finish |
( |
| ) |
|
Finish the service.
- Returns:
- true on success, or false on failure.
| void kyototycoon::ThreadedServer::log |
( |
Logger::Kind |
kind, |
|
|
const char * |
format, |
|
|
|
... |
|
) |
| |
Log a message.
- Parameters:
-
| kind | the kind of the event. Logger::DEBUG for debugging, Logger::INFO for normal information, Logger::SYSTEM for system information, and Logger::ERROR for fatal error. |
| format | the printf-like format string. The conversion character `' can be used with such flag characters as `s', `d', `o', `u', `x', `X', `c', `e', `E', `f', `g', `G', and `'. |
| ... | used according to the format string. |
| void kyototycoon::ThreadedServer::log_v |
( |
Logger::Kind |
kind, |
|
|
const char * |
format, |
|
|
va_list |
ap |
|
) |
| |
Log a message.
- Note:
- Equal to the original Cursor::set_value method except that the last parameters is va_list.
| int64_t kyototycoon::ThreadedServer::connection_count |
( |
| ) |
|
Get the number of connections.
- Returns:
- the number of connections.
| int64_t kyototycoon::ThreadedServer::task_count |
( |
| ) |
|
Get the number of tasks in the queue.
- Returns:
- the number of tasks in the queue.
| bool kyototycoon::ThreadedServer::aborted |
( |
| ) |
|
Check whether the thread is to be aborted.
- Returns:
- true if the thread is to be aborted, or false if not.