porter/libsrc/porter/thread/potrConnectThread.h
ファイル
porter/libsrc/porter/thread/potrConnectThread.h
TCP 接続管理スレッドの内部ヘッダー。
SENDER: TCP connect / 自動再接続ループを管理するスレッドです。
RECEIVER: TCP accept ループを管理するスレッドです。
接続確立後、送受信・ヘルスチェックスレッドを起動します。
作者
c-modernization-kit sample team
バージョン
1.0.0
日付
2026/03/23
インクルード元
potrConnectThread.h のインクルード元
著作権
Copyright (C) CompanyName, Ltd. 2026. All rights reserved.
関数
potr_connect_thread_start
int potr_connect_thread_start ( struct PotrContext_ *ctx )
TCP 接続管理スレッドを起動します。
TCP 接続管理スレッドを起動します。
呼び出し前提:
- SENDER: dst_addr_resolved[i] および dst_port が設定済みであること (n_path 分)。
- RECEIVER: tcp_listen_sock[i] が listen 状態であること (n_path 分)。
- tcp_state_mutex / tcp_state_cv / tcp_send_mutex[] が初期化済みであること。
引数
- ctx [in,out] セッションコンテキストへのポインタ。
- ctx [in,out] セッションコンテキストへのポインタ。
戻り値
成功時は POTR_SUCCESS、失敗時は POTR_ERROR を返します。
成功時は POTR_SUCCESS、失敗時は POTR_ERROR を返します。
potr_connect_thread_stop
void potr_connect_thread_stop ( struct PotrContext_ *ctx )
TCP 接続管理スレッドを停止します。
- connect_thread_running[i] フラグを全 path クリアして停止を通知する。
- tcp_state_cv をブロードキャストして reconnect sleep を中断する。
- tcp_listen_sock[i] (RECEIVER) を全 path クローズして accept ブロックを解除する。
- tcp_conn_fd[i] を全 path クローズして recv ループをブロック解除する。
- connect_thread[i] の終了を全 path 待機する。
- 送信スレッドを停止する (全 path join 後)。 依存スレッド (recv/health) のクリーンアップは各 connect_thread 内で行われる。
引数
- ctx [in,out] セッションコンテキストへのポインタ。
- ctx [in,out] セッションコンテキストへのポインタ。