|
Document of c-modernization-kit (porter) 1.0.0
|
Macros | |
| #define | POTR_FLAG_DATA 0x0001U |
| データパケット (パックコンテナ) であることを示すフラグ。常に設定される。 | |
| #define | POTR_FLAG_NACK 0x0002U |
| 再送要求パケットであることを示すフラグ。ack_num に要求通番を格納する。 | |
| #define | POTR_FLAG_PING 0x0004U |
| ヘルスチェック要求パケットであることを示すフラグ。ペイロードなし。 | |
| #define | POTR_FLAG_REJECT 0x0008U |
| 再送不能通知パケットであることを示すフラグ。ack_num に再送不能な通番を格納する。 | |
| #define | POTR_FLAG_FIN 0x0010U |
| 正常終了通知パケットであることを示すフラグ。送信者が potrCloseService 時に送出し、受信者は即座に DISCONNECTED へ遷移する。ペイロードなし。 | |
| #define | POTR_FLAG_ENCRYPTED 0x0020U |
| AES-256-GCM 認証タグが付与されていることを示す外側パケットフラグ。 POTR_FLAG_DATA と組み合わせる場合: [ヘッダー 32B][暗号文: packed_len B][GCM 認証タグ: 16B]。 単独で使用する場合 (PING/NACK/REJECT/FIN): ペイロードなし (平文 0B) の GCM 認証タグのみ (16B) を格納する。[ヘッダー 32B][GCM 認証タグ: 16B]。 いずれの場合もヘッダー全体 (32B) が AAD として認証される。 Nonce (12B) = session_id (4B NBO) + flags (2B NBO) + seq_or_ack_num (4B NBO) + padding (2B 0x00)。 flags には本フラグを含んだ実際の送信フラグ値を使用する。 seq_or_ack_num は DATA/PING/FIN の場合 seq_num、NACK/REJECT の場合 ack_num。 | |
UDP で送受信される外側パケット (PotrPacket) の flags フィールドに設定するフラグです。
ペイロードエレメントのフラグ (ペイロードエレメントフラグ (パックコンテナ内エレメントヘッダー.flags)) とは独立したビット空間で管理します。
| #define POTR_FLAG_DATA 0x0001U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
データパケット (パックコンテナ) であることを示すフラグ。常に設定される。
Definition at line 41 of file porter_const.h.
Referenced by packet_build_packed(), recv_thread_func(), and tcp_recv_thread_func().
| #define POTR_FLAG_NACK 0x0002U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
再送要求パケットであることを示すフラグ。ack_num に要求通番を格納する。
Definition at line 42 of file porter_const.h.
Referenced by packet_build_nack(), and recv_thread_func().
| #define POTR_FLAG_PING 0x0004U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
ヘルスチェック要求パケットであることを示すフラグ。ペイロードなし。
Definition at line 43 of file porter_const.h.
Referenced by drain_recv_window(), n1_drain_recv_window(), packet_build_ping(), recv_thread_func(), and tcp_recv_thread_func().
| #define POTR_FLAG_REJECT 0x0008U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
再送不能通知パケットであることを示すフラグ。ack_num に再送不能な通番を格納する。
Definition at line 44 of file porter_const.h.
Referenced by packet_build_reject(), and recv_thread_func().
| #define POTR_FLAG_FIN 0x0010U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
正常終了通知パケットであることを示すフラグ。送信者が potrCloseService 時に送出し、受信者は即座に DISCONNECTED へ遷移する。ペイロードなし。
Definition at line 45 of file porter_const.h.
Referenced by packet_build_fin(), and recv_thread_func().
| #define POTR_FLAG_ENCRYPTED 0x0020U |
#include </__w/c-modernization-kit/c-modernization-kit/prod/porter/include/porter_const.h>
AES-256-GCM 認証タグが付与されていることを示す外側パケットフラグ。
POTR_FLAG_DATA と組み合わせる場合: [ヘッダー 32B][暗号文: packed_len B][GCM 認証タグ: 16B]。
単独で使用する場合 (PING/NACK/REJECT/FIN): ペイロードなし (平文 0B) の
GCM 認証タグのみ (16B) を格納する。[ヘッダー 32B][GCM 認証タグ: 16B]。
いずれの場合もヘッダー全体 (32B) が AAD として認証される。
Nonce (12B) = session_id (4B NBO) + flags (2B NBO) + seq_or_ack_num (4B NBO) + padding (2B 0x00)。
flags には本フラグを含んだ実際の送信フラグ値を使用する。
seq_or_ack_num は DATA/PING/FIN の場合 seq_num、NACK/REJECT の場合 ack_num。
Definition at line 46 of file porter_const.h.
Referenced by 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().