Document of c-modernization-kit (porter) 1.0.0
Loading...
Searching...
No Matches
PotrServiceDef Struct Reference

サービス定義。 More...

#include <porter_type.h>

Collaboration diagram for PotrServiceDef:

Data Fields

int64_t service_id
 サービス ID。
PotrType type
 通信種別。
uint16_t dst_port
 宛先ポート番号。サービスの識別子。受信者の bind ポート / 送信者の送信先ポート。(全通信種別で必須)
uint16_t src_port
 送信者の送信元 bind ポート番号。0 = OS 自動選定。(全通信種別で省略可)
uint8_t ttl
 マルチキャスト TTL。(multicast のみ)
uint8_t _pad [3]
 パディング (pack_wait_ms を 4 バイト境界に揃える)。
uint32_t pack_wait_ms
 パッキング待ち時間 (ミリ秒)。最初の送信要求からこの時間だけ待ち合わせ、複数メッセージを 1 パケットにまとめる。0 = 即時送信 (パッキング待ちなし)。パケット容量が満杯になった場合はタイマーを無視して即時送信する。
char multicast_group [POTR_MAX_ADDR_LEN]
 マルチキャストグループアドレス。(multicast のみ)
char broadcast_addr [POTR_MAX_ADDR_LEN]
 ブロードキャスト宛先アドレス。省略時は 255.255.255.255。(broadcast のみ)
char src_addr [POTR_MAX_PATH][POTR_MAX_ADDR_LEN]
 送信元アドレス [0]=src_addr1 〜 [3]=src_addr4。送信者は bind / 送信インターフェース、受信者は送信元フィルタ。(全通信種別で必須)
char dst_addr [POTR_MAX_PATH][POTR_MAX_ADDR_LEN]
 宛先アドレス [0]=dst_addr1 〜 [3]=dst_addr4。送信者は送信先、受信者は bind アドレス。(unicast のみ)
uint8_t encrypt_key [POTR_CRYPTO_KEY_SIZE]
 AES-256-GCM 事前共有鍵 (32 バイト)。encrypt_enabled が 0 の場合は未使用。
int encrypt_enabled
 非 0 のとき暗号化有効。設定ファイルに有効な encrypt_key が存在するときに 1 に設定される。
uint32_t max_peers
 N:1 モード時の最大同時接続ピア数。省略時: 1024。1:1 モードでは無視される。
uint32_t health_interval_ms
 グローバルの udp/tcp_health_interval_ms をサービス単位で上書きする。0 = グローバル値を使用。
uint32_t health_timeout_ms
 グローバルの udp/tcp_health_timeout_ms をサービス単位で上書きする。0 = グローバル値を使用。
uint32_t reconnect_interval_ms
 SENDER 自動再接続間隔 (ms)。0 = 再接続なし。デフォルト: POTR_DEFAULT_RECONNECT_INTERVAL_MS。
uint32_t connect_timeout_ms
 SENDER TCP 接続タイムアウト (ms)。0 = OS デフォルト。デフォルト: POTR_DEFAULT_CONNECT_TIMEOUT_MS。

Detailed Description

サービス定義。

設定ファイルの [service.N] セクションから読み込まれるサービス設定です。

通信種別によって有効なフィールドが異なります。

Definition at line 129 of file porter_type.h.

Field Documentation

◆ service_id

◆ type

◆ dst_port

uint16_t PotrServiceDef::dst_port

宛先ポート番号。サービスの識別子。受信者の bind ポート / 送信者の送信先ポート。(全通信種別で必須)

Definition at line 135 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), open_socket_multicast(), open_socket_tcp_receiver(), potrOpenService(), sender_connect_loop(), and tcp_connect_with_timeout().

◆ src_port

uint16_t PotrServiceDef::src_port

送信者の送信元 bind ポート番号。0 = OS 自動選定。(全通信種別で省略可)

Definition at line 138 of file porter_type.h.

Referenced by apply_service_kv(), check_health_timeout(), check_src_addr(), config_load_service(), open_socket_multicast(), potrOpenService(), receiver_accept_loop(), send_nack(), and tcp_connect_with_timeout().

◆ ttl

uint8_t PotrServiceDef::ttl

マルチキャスト TTL。(multicast のみ)

Definition at line 141 of file porter_type.h.

Referenced by apply_service_kv(), and config_load_service().

◆ _pad

uint8_t PotrServiceDef::_pad[3]

パディング (pack_wait_ms を 4 バイト境界に揃える)。

Definition at line 142 of file porter_type.h.

◆ pack_wait_ms

uint32_t PotrServiceDef::pack_wait_ms

パッキング待ち時間 (ミリ秒)。最初の送信要求からこの時間だけ待ち合わせ、複数メッセージを 1 パケットにまとめる。0 = 即時送信 (パッキング待ちなし)。パケット容量が満杯になった場合はタイマーを無視して即時送信する。

Definition at line 143 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and send_thread_func().

◆ multicast_group

char PotrServiceDef::multicast_group[POTR_MAX_ADDR_LEN]

マルチキャストグループアドレス。(multicast のみ)

Definition at line 145 of file porter_type.h.

Referenced by apply_service_kv(), open_socket_multicast(), potrCloseService(), and potrOpenService().

◆ broadcast_addr

char PotrServiceDef::broadcast_addr[POTR_MAX_ADDR_LEN]

ブロードキャスト宛先アドレス。省略時は 255.255.255.255。(broadcast のみ)

Definition at line 146 of file porter_type.h.

Referenced by apply_service_kv(), and potrOpenService().

◆ src_addr

char PotrServiceDef::src_addr[POTR_MAX_PATH][POTR_MAX_ADDR_LEN]

送信元アドレス [0]=src_addr1 〜 [3]=src_addr4。送信者は bind / 送信インターフェース、受信者は送信元フィルタ。(全通信種別で必須)

Definition at line 149 of file porter_type.h.

Referenced by apply_service_kv(), check_health_timeout(), check_src_addr(), config_load_service(), open_socket_tcp_receiver(), open_socket_tcp_sender(), potrOpenService(), receiver_accept_loop(), tcp_connect_with_timeout(), and update_path_recv().

◆ dst_addr

char PotrServiceDef::dst_addr[POTR_MAX_PATH][POTR_MAX_ADDR_LEN]

宛先アドレス [0]=dst_addr1 〜 [3]=dst_addr4。送信者は送信先、受信者は bind アドレス。(unicast のみ)

Definition at line 150 of file porter_type.h.

Referenced by apply_service_kv(), check_src_addr(), config_load_service(), open_socket_tcp_receiver(), open_socket_tcp_sender(), potrOpenService(), and sender_connect_loop().

◆ encrypt_key

uint8_t PotrServiceDef::encrypt_key[POTR_CRYPTO_KEY_SIZE]

◆ encrypt_enabled

int PotrServiceDef::encrypt_enabled

◆ max_peers

uint32_t PotrServiceDef::max_peers

N:1 モード時の最大同時接続ピア数。省略時: 1024。1:1 モードでは無視される。

Definition at line 157 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and potrOpenService().

◆ health_interval_ms

uint32_t PotrServiceDef::health_interval_ms

グローバルの udp/tcp_health_interval_ms をサービス単位で上書きする。0 = グローバル値を使用。

Definition at line 160 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and potrOpenService().

◆ health_timeout_ms

uint32_t PotrServiceDef::health_timeout_ms

グローバルの udp/tcp_health_timeout_ms をサービス単位で上書きする。0 = グローバル値を使用。

Definition at line 161 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and potrOpenService().

◆ reconnect_interval_ms

uint32_t PotrServiceDef::reconnect_interval_ms

SENDER 自動再接続間隔 (ms)。0 = 再接続なし。デフォルト: POTR_DEFAULT_RECONNECT_INTERVAL_MS。

Definition at line 164 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and sender_connect_loop().

◆ connect_timeout_ms

uint32_t PotrServiceDef::connect_timeout_ms

SENDER TCP 接続タイムアウト (ms)。0 = OS デフォルト。デフォルト: POTR_DEFAULT_CONNECT_TIMEOUT_MS。

Definition at line 165 of file porter_type.h.

Referenced by apply_service_kv(), config_load_service(), and tcp_connect_with_timeout().


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