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
Member Function Documentation
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. |
Set the logger to process each log message.
- Parameters:
-
Set the worker to process each request.
- Parameters:
-
worker | the worker object. |
thnum | the number of worker threads. |
Start the service.
- Returns:
- true on success, or false on failure.
- Note:
- This function blocks until the server stops by the ThreadedServer::stop method.
Stop the service.
- Returns:
- true on success, or false on failure.
Finish the service.
- Returns:
- true on success, or false on failure.
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. |
Log a message.
- Note:
- Equal to the original Cursor::set_value method except that the last parameters is va_list.
Get the number of connections.
- Returns:
- the number of connections.
Get the number of tasks in the queue.
- Returns:
- the number of tasks in the queue.
Check whether the thread is to be aborted.
- Returns:
- true if the thread is to be aborted, or false if not.