Logo Search packages:      
Sourcecode: yaskkserv version File versions  Download package

SkkServer Class Reference

#include <skk_server.hpp>

Inherited by LocalSkkServer [private], LocalSkkServer [private], and LocalSkkServer [private].

List of all members.


Detailed Description

SKK サーバです。.

Definition at line 95 of file skk_server.hpp.


Public Member Functions

virtual bool mainLoop ()=0
void printFirstSyslog (void)
 SkkServer (const char *identifier, int port, int log_level)

Protected Types

enum  { MIDASI_SIZE = 1 + 510, MIDASI_TERMINATOR_SIZE = 1, MIDASI_MARGIN_SIZE = 4, READ_BUFFER_SIZE = MIDASI_SIZE + MIDASI_TERMINATOR_SIZE + MIDASI_MARGIN_SIZE }

Protected Member Functions

void main_loop_0 (int work_index)
 mainLoop() で "0" 相当の処理をします。
void main_loop_2 (int work_index, const char *version_string, int version_string_size)
 mainLoop() で "2" 相当の処理をします。
void main_loop_3 (int work_index)
 mainLoop() で "3" 相当の処理をします。
bool main_loop_accept (fd_set &fd_set_read, int select_result)
 mainLoop() で accept() します。
bool main_loop_check_buffer (int work_index, int recv_result, bool &illegal_protocol_flag)
 バッファをリセットすべきならば真を返します。
void main_loop_check_buffer_reset (int work_index, int recv_result, bool buffer_reset_flag)
 MainLoop() で必要ならばバッファリセットをおこないます。.
int main_loop_check_reload_dictionary (SkkDictionary *skk_dictionary, int skk_dictionary_length, const char *const *dictionary_filename_table, bool dictionary_check_update_flag)
 mainLoop() で辞書の更新チェックをします。
bool main_loop_finalize ()
 MainLoop() のファイナライズ処理です。.
void main_loop_get_plural_dictionary_information (int work_index, SkkDictionary *skk_dictionary, int skk_dictionary_length, int &found_times, int &candidate_length, int &total_henkanmojiretsu_size)
 複数辞書を扱うために必要な情報を取得します。 found_times は「見出し」が見付かった辞書の個数、 candidate_length は見付かった「見出し」に対する「変換文字列」中の candidate の個数、 total_henkanmojiretsu_size は全ての「変換文字列」の合計サイズです。 found_times, candidate_length と total_henkanmojiretsu_size は必ず設定されます。.
void main_loop_illegal_command (int work_index)
 mainLoop() で不正なコマンドの処理をします。
bool main_loop_initialize (int max_connection, int listen_queue)
 MainLoop() のイニシャライズ処理です。.
bool main_loop_is_recv (int work_index, fd_set &fd_set_read)
 MainLoop() で recv() すべきかどうかを返します。.
bool main_loop_recv (int work_index, int &recv_result, bool &error_break_flag)
 MainLoop() で recv() して read_buffer へ読み込みます。 read_buffer を参照してはならないならば真を返します。.
int main_loop_select (fd_set &fd_set_read)
 mainLoop() で select() します。
void main_loop_send_found (int work_index, SkkDictionary *skk_dictionary)
 「見出し」の探索に成功したものとして "1" を付加した現在のバッファの「変換文字列」を send() します。
void main_loop_send_not_found (int work_index, int recv_result)
 「見出し」の探索に失敗したものとして "4" を付加した現在のバッファの「見出し」を send() します。
bool send (int file_descriptor, const void *data, int data_size)
 send() に成功すれば真を返します。偽を返した場合 Work::closeAndReset() すべきです。

Protected Attributes

int file_descriptor_
int listen_queue_
int max_connection_
int port_
SkkSocket socket_
SkkSyslog syslog_
Work * work_

Private Member Functions

SkkServeroperator= (SkkServer &source)
 SkkServer (SkkServer &source)

Classes

struct  Work

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index