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

スライディングウィンドウ管理構造体。 More...

#include <window.h>

Collaboration diagram for PotrWindow:

Data Fields

PotrPacketpackets
 パケットバッファ (動的確保。window_size 要素)。
uint8_t * valid
 バッファ有効フラグ配列 (動的確保。window_size バイト)。
uint8_t * payload_pool
 ペイロードプール (動的確保。window_size × max_payload バイト)。
uint32_t base_seq
 ウィンドウ先頭の通番。
uint32_t next_seq
 送信側: 次に割り当てる通番。受信側: 次に期待する通番。
uint16_t window_size
 ウィンドウサイズ (パケット数)。
uint16_t max_payload
 エントリごとのペイロード最大長 (バイト)。
uint32_t _pad
 パディング (構造体サイズを 8 バイト境界に揃える)。

Detailed Description

スライディングウィンドウ管理構造体。

パケットバッファ・有効フラグ・ペイロードプールは動的確保する。
window_init() で確保し、window_destroy() で解放すること。

Definition at line 29 of file window.h.

Field Documentation

◆ packets

PotrPacket* PotrWindow::packets

パケットバッファ (動的確保。window_size 要素)。

Definition at line 31 of file window.h.

Referenced by window_destroy(), window_init(), window_recv_pop(), window_recv_push(), window_send_get(), and window_send_push().

◆ valid

uint8_t* PotrWindow::valid

バッファ有効フラグ配列 (動的確保。window_size バイト)。

Definition at line 32 of file window.h.

Referenced by recv_thread_func(), reset_all_paths_disconnected(), window_destroy(), window_init(), window_recv_needs_nack(), window_recv_pop(), window_recv_push(), window_recv_reset(), window_recv_skip(), window_send_get(), and window_send_push().

◆ payload_pool

uint8_t* PotrWindow::payload_pool

ペイロードプール (動的確保。window_size × max_payload バイト)。

Definition at line 33 of file window.h.

Referenced by window_destroy(), window_init(), window_recv_push(), and window_send_push().

◆ base_seq

◆ next_seq

◆ window_size

uint16_t PotrWindow::window_size

◆ max_payload

uint16_t PotrWindow::max_payload

エントリごとのペイロード最大長 (バイト)。

Definition at line 37 of file window.h.

Referenced by window_init(), window_recv_push(), and window_send_push().

◆ _pad

uint32_t PotrWindow::_pad

パディング (構造体サイズを 8 バイト境界に揃える)。

Definition at line 38 of file window.h.


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