Nodeイベントハンドラ

サーバーのライフサイクルに関するイベントはNodeイベントカテゴリとなり、Nodeイベントハンドラで実装します。


on_node_init

サーバー開始時に一度だけ呼ばれます。

何らかの初期化処理が必要であればここで実行してもいいでしょう。 ただし、サーバー実行期間中ずっと保持するようなデータを用意する場合は、Contextの利用の検討を勧めます。

引数としてOcean::HandlerArgs::NodeInitializationを受け取ります。このオブジェクトは次のアクセサを持ちます。

アクセサ名 概要
hostListenを開始したIPアドレス
portListenを開始したポートナンバー

on_node_timer_report

このイベントはサーバーの状態監視のために利用します。プロセス情報のレポートが必要な場合は、このタイミングで行うのがよいでしょう。

また、このイベントはコンフィグファイルのサーバーセクション中のreport_timer値で設定された秒数毎に発生します。詳しくはコンフィギュレーションガイド [ サーバーセクション ]を参照してください。

引数としてOcean::HandlerArgs::NodeTimerReportを受け取ります。このオブジェクトは次のアクセサを持ちます。

アクセサ名 概要
total_connection_counter現在までの延接続数
current_connection_counter現在の接続数

on_node_exit

このイベントはサーバー終了直前に一回のみ呼ばれます。

引数としてOcean::HandlerArgs::NodeExitを受け取ります。このオブジェクトは何のアクセサも持ちません。型をあわせるためだけのNullオブジェクトとして扱います。