Document of c-modernization-kit (porter) 1.0.0

Loading...
Searching...
No Matches
Data Fields
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

int64_t PotrServiceDef::service_id

サービス ID。

Definition at line 131 of file porter_type.h.

Referenced by apply_service_kv(), check_and_update_session(), check_health_timeout(), check_reorder_timeout(), comm_recv_thread_start(), config_load_service(), connect_thread_func(), drain_recv_window(), flush_packed(), flush_packed_peer(), health_thread_func(), n1_check_health_timeout(), n1_notify_health_alive(), n1_process_outer_pkt(), n1_recv_deliver(), n1_send_nack(), n1_send_ping_reply(), n1_send_reject(), notify_connected_tcp(), notify_health_alive(), peer_create(), peer_free(), peer_path_clear(), peer_send_fin(), peer_table_destroy(), peer_table_init(), potr_connect_thread_start(), potr_connect_thread_stop(), potr_health_thread_start(), potr_tcp_health_thread_start(), potrCloseService(), potrDisconnectPeer(), potrOpenService(), potrSend(), process_outer_pkt(), raw_session_disconnect(), receiver_accept_loop(), recv_deliver(), recv_thread_func(), reset_all_paths_disconnected(), send_fin(), send_nack(), send_ping_reply(), send_reject(), sender_connect_loop(), start_connected_threads(), tcp_connect_with_timeout(), tcp_health_thread_func(), tcp_recv_thread_func(), tcp_recv_thread_start(), and tcp_send_ping_reply().

## ◆ type

PotrType PotrServiceDef::type

通信種別。

Definition at line 132 of file porter_type.h.

Referenced by apply_service_kv(), check_health_timeout(), check_reorder_timeout(), check_src_addr(), config_load_service(), connect_thread_func(), flush_packed(), potrCloseService(), potrGetServiceType(), potrOpenService(), potrSend(), process_outer_pkt(), receiver_accept_loop(), recv_thread_func(), reorder_gap_ready(), send_nack(), start_connected_threads(), stop_connected_threads(), tcp_recv_thread_func(), and update_path_recv().

## ◆ 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]

AES-256-GCM 事前共有鍵 (32 バイト)。encrypt_enabled が 0 の場合は未使用。

Definition at line 153 of file porter_type.h.

Referenced by apply_service_kv(), flush_packed(), flush_packed_peer(), health_thread_func(), n1_send_nack(), n1_send_ping_reply(), n1_send_reject(), peer_send_fin(), recv_thread_func(), send_fin(), send_nack(), send_ping_reply(), send_reject(), tcp_health_thread_func(), tcp_recv_thread_func(), and tcp_send_ping_reply().

## ◆ encrypt_enabled

int PotrServiceDef::encrypt_enabled

非 0 のとき暗号化有効。設定ファイルに有効な encrypt_key が存在するときに 1 に設定される。

Definition at line 154 of file porter_type.h.

Referenced by apply_service_kv(), flush_packed(), flush_packed_peer(), health_thread_func(), n1_send_nack(), n1_send_ping_reply(), n1_send_reject(), peer_send_fin(), potrOpenService(), send_fin(), send_nack(), send_packed_peer_mode(), send_ping_reply(), send_reject(), send_thread_func(), send_to_peer(), tcp_health_thread_func(), and tcp_send_ping_reply().

## ◆ 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:

- porter/include/porter_type.h