8 typedef struct wtp_tx_read_info {
16 typedef struct wtp_tx_fragment {
32 typedef struct wtp_tx_ctrl {
68 typedef struct wtp_rx_fragment {
83 typedef struct wtp_rx_msg_info {
96 typedef struct wtp_rx_ctrl {
133 uint16_t window_size,
136 uint16_t pkt_buf_size,
137 uint16_t msg_buf_size,
230 uint16_t window_size,
231 uint16_t msg_data_size,
232 uint16_t fragments_size,
262 uint16_t new_msg_size,
wtp_rx_fragment_t * _fragments_begin
Begin of data fragments linked list.
Definition: transmission.h:108
wtp_status_t wtp_tx_init(wtp_tx_ctrl_t *self, uint16_t window_size, uint16_t timeout, uint16_t read_size, uint16_t pkt_buf_size, uint16_t msg_buf_size, uint8_t n_fragments, uint8_t n_msgs)
Initialize WTP transmit control type.
Definition: transmission.c:8
WTP READ OpSpec information type.
Definition: transmission.h:8
uint8_t _size
Fragment size.
Definition: transmission.h:25
bool _need_send
Need send flag.
Definition: transmission.h:28
uint16_t _timeout
Timeout.
Definition: transmission.h:38
wio_status_t wtp_status_t
WTP status type.
Definition: defs.h:7
uint16_t _size
Message size.
Definition: transmission.h:87
uint16_t _window_size
Sliding window size.
Definition: transmission.h:100
bool _assembled
Assembled flag.
Definition: transmission.h:77
wtp_status_t wtp_tx_add_msg(wtp_tx_ctrl_t *self, uint8_t *data, uint16_t size, wtp_tx_read_info_t **_read_info)
Add a new message to transmit control.
Definition: transmission.c:99
uint8_t _next
Index of next message.
Definition: transmission.h:92
WIO buffer type.
Definition: buf.h:6
wtp_status_t wtp_tx_make_fragment(wtp_tx_ctrl_t *self, uint8_t avail_size, wtp_tx_fragment_t **_fragment)
Make a new sending data fragment.
Definition: transmission.c:138
wtp_status_t wtp_tx_end_packet(wtp_tx_ctrl_t *self)
End construction of WTP packet.
Definition: transmission.c:85
uint16_t _pkt_begin
Current packet begin position.
Definition: transmission.h:48
uint16_t _seq_num
Sequence number.
Definition: transmission.h:18
WTP received message information type.
Definition: transmission.h:83
uint8_t wtp_pkt_t
WTP packet type.
Definition: defs.h:12
wtp_status_t wtp_tx_fini(wtp_tx_ctrl_t *self)
Finalize WTP transmit control type.
Definition: transmission.c:52
uint8_t _msg_info_size
Store size.
Definition: transmission.h:113
struct wtp_rx_fragment * _next
Next fragment.
Definition: transmission.h:79
uint16_t _msg_size
Message size (0 for WTP_PKT_CONT_MSG)
Definition: transmission.h:20
uint16_t _msg_fragmented
Fragmented position of next message.
Definition: transmission.h:57
uint8_t * _data
Data.
Definition: transmission.h:72
WTP received data fragment type.
Definition: transmission.h:68
WTP transmit data fragment type.
Definition: transmission.h:16
uint16_t _window_size
Sliding window size.
Definition: transmission.h:36
uint16_t _seq_num
Sequence number.
Definition: transmission.h:34
bool _in_use
In use flag.
Definition: transmission.h:90
wio_buf_t _fragments_buf
Data fragments buffer.
Definition: transmission.h:106
wtp_status_t wtp_tx_begin_packet(wtp_tx_ctrl_t *self, wtp_pkt_t pkt_type)
Begin construction of WTP packet.
Definition: transmission.c:66
wtp_status_t wtp_tx_handle_ack(wtp_tx_ctrl_t *self, uint16_t seq_num, uint8_t *_n_msgs)
Handle WTP acknowledgement.
Definition: transmission.c:227
wio_buf_t _msg_data_buf
Acknowledged message data buffer.
Definition: transmission.h:103
uint8_t _n_reads
Number of reads.
Definition: transmission.h:12
wio_queue_t _fragments_queue
Data fragments queue.
Definition: transmission.h:60
wio_buf_t _msg_buf
Send messages buffer.
Definition: transmission.h:45
uint8_t _size
Size.
Definition: transmission.h:74
uint16_t _msg_begin_pos
Begin position of next message (Buffer position)
Definition: transmission.h:55
wio_queue_t _read_info_queue
READ OpSpec information queue.
Definition: transmission.h:62
uint16_t _seq_num
Sequence number.
Definition: transmission.h:70
wtp_status_t wtp_rx_fini(wtp_rx_ctrl_t *self)
Finalize WTP receive control type.
Definition: transmission.c:351
WTP sliding window-based transmit control type.
Definition: transmission.h:32
uint8_t _size
Read size.
Definition: transmission.h:10
wtp_status_t wtp_rx_handle_packet(wtp_rx_ctrl_t *self, uint16_t seq_num, uint8_t *data, uint16_t size, uint16_t new_msg_size, uint8_t *_n_msgs)
Handle incoming data packet.
Definition: transmission.c:367
wio_buf_t _pkt_buf
Send packets buffer.
Definition: transmission.h:43
uint16_t _msg_begin_seq
Begin position of next message (Sequence number)
Definition: transmission.h:53
uint16_t _begin
Message begin.
Definition: transmission.h:85
uint8_t * _data
Fragment data.
Definition: transmission.h:23
uint8_t * _pkt_size
Pointer to current packet size.
Definition: transmission.h:50
uint8_t _msg_info_begin
Linked list begin index.
Definition: transmission.h:115
uint8_t _read_size
READ size.
Definition: transmission.h:40
wtp_rx_msg_info_t * _msg_info_store
Message information store.
Definition: transmission.h:111
uint16_t _seq_num
Sequence number.
Definition: transmission.h:98
wio_queue_t _msg_ends_queue
Message ends sequence number queue.
Definition: transmission.h:64
WTP sliding window-based receive control type.
Definition: transmission.h:96
WIO circular queue type.
Definition: queue.h:16
wtp_status_t wtp_rx_init(wtp_rx_ctrl_t *self, uint16_t window_size, uint16_t msg_data_size, uint16_t fragments_size, uint8_t n_msg_info)
Initialize WTP receive control type.
Definition: transmission.c:314