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
mSendLinks
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.