otTcpCircularSendBuffer

#include <tcp_ext.h>

Biểu thị vùng đệm gửi tròn để sử dụng với điểm cuối TCP.

Tóm tắt

Không bắt buộc phải sử dụng vùng đệm gửi vòng tròn. Các ứng dụng có thể dùng điểm cuối TCP để gửi dữ liệu bằng cách quản lý trực tiếp otLinkedBuffers. Tuy nhiên, một số ứng dụng có thể thấy thuận tiện hơn khi có vùng đệm gửi vòng tròn; các ứng dụng như vậy có thể gọi otTcpCircularSendBufferWrite() để "đính kèm" bộ đệm gửi vòng tròn đến điểm cuối TCP và gửi dữ liệu trên điểm cuối TCP đó, dựa vào vùng đệm gửi tròn để quản lý otLinkedBuffers cơ bản.

otTcpCircularSendBuffer được triển khai trên API dựa trên otLinkedBuffer do otTcpEndpoint cung cấp. Sau khi được đính kèm vào một otTcpEndpoint, một otTcpCircularSendBuffer sẽ thực hiện tất cả công việc quản lý otLinkedBuffers cho kết nối. Điều này có nghĩa là sau khi một otTcpCircularSendBuffer được đính kèm vào một otTcpEndpoint, ứng dụng không được gọi otTcpSendByReference() hoặc otTcpSendByExtension() trên otTcpEndpoint đó. Thay vào đó, ứng dụng phải sử dụng otTcpCircularSendBufferWrite() để thêm dữ liệu vào bộ đệm gửi.

Lệnh gọi lại otTcpForwardProgress() là cách thức để người dùng tìm hiểu thời điểm có dung lượng trong vùng đệm gửi vòng tròn. Trên một otTcpEndpoint được đính kèm otTcpCircularSendBuffer, ứng dụng PHẢI cài đặt lệnh gọi lại otTcpForwardProgress() và gọi otTcpCircularSendBufferHandleForwardProgress() đính kèm trên otTcpCircularSendBuffer ở đầu hàm callback. Người dùng KHÔNG nên cài đặt lệnh gọi lại otTcpSendDone(), vì mọi hoạt động quản lý otLinkedBuffers đều được xử lý bằng vùng đệm gửi tròn.

Ứng dụng không được kiểm tra trực tiếp các trường của cấu trúc này; ứng dụng chỉ nên tương tác với ứng dụng thông qua các hàm TCP Circular Send Buffer API có chữ ký được cung cấp trong tệp này.

Thuộc tính công khai

mCapacity
size_t
Độ dài của vùng đệm gửi tròn.
mCapacityUsed
size_t
Số byte được lưu trữ trong vùng đệm gửi.
mDataBuffer
uint8_t *
Con trỏ đến dữ liệu trong vùng đệm gửi vòng tròn.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Chỉ mục của byte hợp lệ đầu tiên trong vùng đệm gửi.

Thuộc tính công khai

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

Độ dài của vùng đệm gửi tròn.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

Số byte được lưu trữ trong vùng đệm gửi.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Con trỏ đến dữ liệu trong vùng đệm gửi vòng tròn.

mFirstSendLinkIndex

uint8_t otTcpCircularSendBuffer::mFirstSendLinkIndex
otLinkedBuffer otTcpCircularSendBuffer::mSendLinks[2]

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

Chỉ mục của byte hợp lệ đầu tiên trong vùng đệm gửi.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.