otTcpCircularSendBuffer

#include <tcp_ext.h>

Reprezentuje okrągły bufor wysyłania do użycia z punktem końcowym TCP.

Podsumowanie

Korzystanie z okrągłego bufora wysyłania jest opcjonalne. Aplikacje mogą używać punktu końcowego TCP do wysyłania danych, bezpośrednio zarządzając obiektem otLinkedBuffers. W niektórych aplikacjach wygodniej jest jednak korzystać z cyklicznego bufora wysyłania. Mogą one wywołać metodę otTcpCircularSendBufferWrite(), aby „podłączyć” okrągły bufor wysyłania do punktu końcowego TCP i wysłać dane przez ten punkt końcowy TCP, bazując na buforze wysyłania do zarządzania bazowymi elementami otLinkedBuffer.

Metoda otTcpCircularSendBuffer jest zaimplementowany w połączeniu z opartym na otLinkedBuffer interfejsem API otTcpEndpoint. Po podłączeniu do punktu otTcpEndpoint otTcpCircularSendBuffer wykonuje wszystkie działania związane z zarządzaniem połączeniem otLinkedBuffers. Oznacza to, że gdy parametr otTcpCircularSendBuffer jest podłączony do obiektu otTcpEndpoint, aplikacja nie powinna wywoływać funkcji otTcpSendByReference() ani otTcpSendByExtension() na tym obiekcie otTcpEndpoint. Zamiast tego aplikacja powinna używać metody otTcpCircularSendBufferWrite(), aby dodać dane do bufora wysyłania.

Wywołanie zwrotne otTcpForwardProgress() wskazuje użytkownikom, kiedy w cyklicznym buforze wysyłania pojawia się wolne miejsce. W punkcie otTcpEndpoint, do którego przyłączony jest moduł otTcpCircularSendBuffer, aplikacja MUSI zainstalować wywołanie zwrotne otTcpForwardProgress() i wywołać otTcpCircularSendBufferHandleForwardProgress() na załączonym otTcpCircularSendBuffer na początku funkcji wywołania zwrotnego. Nie zaleca się instalowania wywołania zwrotnego otTcpSendDone(), ponieważ całe zarządzanie otLinkedBuffers jest obsługiwane przez okrągły bufor wysyłania.

Aplikacja nie powinna bezpośrednio badać pól tej struktury. powinna wchodzić z nią w interakcję wyłącznie za pomocą funkcji TCP Circular Send Buffer API, których podpis znajduje się w tym pliku.

Atrybuty publiczne

mCapacity
size_t
Długość okrągłego bufora wysyłania.
mCapacityUsed
size_t
Liczba bajtów przechowywanych w buforze wysyłania.
mDataBuffer
uint8_t *
Wskaźnik do danych w obrębie bufora wysyłania.
mFirstSendLinkIndex
uint8_t
mSendLinks[2]
mStartIndex
size_t
Indeks pierwszego prawidłowego bajtu w buforze wysyłania.

Atrybuty publiczne

mCapacity

size_t otTcpCircularSendBuffer::mCapacity

Długość okrągłego bufora wysyłania.

mCapacityUsed

size_t otTcpCircularSendBuffer::mCapacityUsed

Liczba bajtów przechowywanych w buforze wysyłania.

mDataBuffer

uint8_t * otTcpCircularSendBuffer::mDataBuffer

Wskaźnik do danych w obrębie bufora wysyłania.

mFirstSendLinkIndex

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

mStartIndex

size_t otTcpCircularSendBuffer::mStartIndex

Indeks pierwszego prawidłowego bajtu w buforze wysyłania.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.