nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Obiekty tej klasy reprezentują punkty końcowe transportu TCP.

Podsumowanie

Nest Inet Layer szyfruje metody interakcji z punktami końcowymi transportu TCP (gniazda SOCK_STREAM w systemach Linux i systemach pochodnych BSD) lub bloki kontroli protokołu LwIP TCP, ponieważ system jest odpowiednio skonfigurowany.

Dziedziczenie

Dziedziczy z: nl::Inet::EndPointBasis

Typy publiczne

@10{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Connecting = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_ReceiveShutdown = 6,
  kState_Closing = 7,
  kState_Closed = 8
}
enum | typ wyliczeniowy
Podstawowy stan dynamiczny bazowego punktu końcowego.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Typ funkcji obsługi zdarzeń błędu akceptacji połączenia.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Typ funkcji obsługi zdarzeń ustanowienia połączenia.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Typ funkcji obsługi zdarzeń ustanowienia połączenia.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Typ funkcji obsługi zdarzeń odbioru połączenia.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Typ funkcji obsługi zdarzeń odbioru danych.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Typ funkcji obsługi zdarzeń transmisji danych.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Typ funkcji obsługi zdarzeń odbioru w połowie zamknięcia.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Typ funkcji obsługi sygnału wysłanego TCP.

Atrybuty publiczne

OnAcceptError
Delegowanie funkcji obsługi zdarzeń akceptacji połączenia z punktem końcowym.
OnConnectComplete
Delegowanie funkcji obsługi zdarzeń nawiązywania połączenia z punktem końcowym.
OnConnectionClosed
Delegowanie funkcji obsługi zdarzeń zamknięcia punktu końcowego.
OnConnectionReceived
Połączenie z punktem końcowym odbiera przekazywanie dostępu do funkcji obsługi zdarzeń.
OnDataReceived
Przekazano dostęp do funkcji obsługi zdarzenia odbioru tekstu wiadomości punktu końcowego.
OnDataSent
Delegowanie funkcji obsługi zdarzeń transmisji tekstu komunikatu punktu końcowego.
OnPeerClose
Delegowanie funkcji obsługi zdarzeń odbioru do połowy zamknięcia punktu końcowego.
OnTCPSendIdleChanged
Funkcja obsługi zdarzeń przekazująca punkt końcowy sygnalizująca zmiany bezczynności kanału wysyłania połączenia TCP.
ReceiveEnabled
bool
Przełącznik sterujący wskazujący, czy aplikacja odbiera dane.
State
enum nl::Inet::TCPEndPoint::@10
Podstawowy stan dynamiczny bazowego punktu końcowego.

Funkcje publiczne

Abort(void)
void
Zamykanie punktu końcowego, czyli wysyłanie pakietów RST.
AckReceive(uint16_t len)
Potwierdź odbiór tekstu wiadomości.
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Powiąż punkt końcowy z adresem IP interfejsu.
Close(void)
Zainicjuj pełne zamknięcie TCP, czyli zakończ operację wysyłania i odbierania.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
Zainicjuj połączenie TCP.
DisableKeepAlive(void)
Wyłącz funkcję utrzymywania aktywności TCP .
DisableReceive(void)
void
Wyłącz odbieranie.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
Włącz funkcję utrzymywania aktywności TCP .
EnableNoDelay(void)
WłączNoDelay.
EnableReceive(void)
void
Włącz odbieranie.
Free(void)
void
Zainicjuj (lub kontynuuj) pełne zamknięcie TCP, ignorując błędy.
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
Wyodrębnij adres IP i port TCP lokalnego punktu końcowego.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Wyodrębnij adres IP i port TCP zdalnego punktu końcowego.
IsConnected(void) const
bool
Sprawdź, czy nawiązano połączenie TCP.
Listen(uint16_t backlog)
Przygotuj punkt końcowy do odbierania komunikatów TCP.
LogId(void)
uint16_t
Uzyskaj identyfikator punktu końcowego.
MarkActive(void)
void
Notuj aktywność, czyli resetuje licznik bezczynności.
PendingReceiveLength(void)
uint32_t
Wyodrębnij długość niepotwierdzonych danych odebranych.
PendingSendLength(void)
uint32_t
Wyodrębnij długość danych oczekujących na pierwszą transmisję.
PutBackReceivedData(Weave::System::PacketBuffer *data)
Przekaż tekst wiadomości z powrotem do nagłówka kolejki odbierania.
Send(Weave::System::PacketBuffer *data, bool push)
Wyślij tekst wiadomości przy połączeniu TCP.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Ustaw czas oczekiwania na powodzenie połączenia lub zwrócenie błędu.
SetUserTimeout(uint32_t userTimeoutMillis)
Ustaw opcję gniazda TCP TCP_USER_TIMEOUT.
Shutdown(void)
Zainicjuj połączenie TCP do połowy, czyli zakończ wysyłanie.

Typy publiczne

@10

 @10

Podstawowy stan dynamiczny bazowego punktu końcowego.

Obiekty są inicjowane w stanie „ready” przejdź do kolejnych stanów odpowiadających uproszczeniu stanów maszyny stanu transportu TCP.

Uwaga: ze względu na historyczne przyczyny zgodności plików binarnych wyliczenie stanu kBasisState_Closed jest mapowane na wartość kState_Ready. Istniejący kState_Closed istnieje, aby osobno identyfikować różnicę między stanem „Jeszcze nieotwarte” i „wcześniej otwarte teraz zamknięta” które wcześniej istniały w stanach kState_Ready i kState_Closed.

Właściwości
kState_Bound

Punkt końcowy jest powiązany, ale nie nasłuchuje.

kState_Closed

Punkt końcowy jest zamknięty, gotowy do wersji.

kState_Closing

Punkt końcowy zamyka się dwukierunkowo.

kState_Connected

Połączono z punktem końcowym, gotowe do wysłania wiadomości.

kState_Connecting

Punkt końcowy próbuje nawiązać połączenie.

kState_Listening

Punkt końcowy odbiera połączenia.

kState_Ready

Punkt końcowy został zainicjowany, ale nie jest powiązany.

kState_ReceiveShutdown

Odpowiedź na punkt końcowy jest w połowie zamknięta.

kState_SendShutdown

Punkt końcowy zainicjował zamknięcie w połowie.

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Typ funkcji obsługi zdarzeń błędu akceptacji połączenia.

Zapewnij funkcję tego typu członkowi przedstawicielowi OnAcceptError, aby mógł przetworzyć zdarzenia błędów akceptacji połączenia w endPoint. Argument err zawiera szczegółowe informacje na temat typu błędu.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] err
przyczynę błędu.

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Typ funkcji obsługi zdarzeń ustanowienia połączenia.

Zapewnij funkcję tego typu członkowi przedstawiciela OnConnectComplete, aby mógł przetwarzać zdarzenia nawiązywania połączenia w systemie endPoint. Argument err odróżnia udane połączenia od nieudanych.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] err
INET_NO_ERROR w przypadku powodzenia, a w przeciwnym razie – inny kod.

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Typ funkcji obsługi zdarzeń ustanowienia połączenia.

Zapewnij funkcję tego typu osobie, która przekazała nam połączenie (OnConnectionClosed), aby umożliwić przetwarzanie zdarzeń zakończenia połączenia w systemie endPoint. Argument err odróżnia udane zakończenia od nieudanych.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] err
INET_NO_ERROR w przypadku powodzenia, a w przeciwnym razie – inny kod.

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

Typ funkcji obsługi zdarzeń odbioru połączenia.

Zapewnij funkcję tego typu osobie z przekazanym dostępem (OnConnectionReceived), aby umożliwić przetwarzanie zdarzeń odbierania połączenia w systemie listeningEndPoint. Nowo otrzymany punkt końcowy conEndPoint znajduje się pod adresem IP peerAddr i portem TCP peerPort.

Szczegóły
Parametry
[in] listeningEndPoint
Punkt końcowy nasłuchu TCP.
[in] conEndPoint
Nowo otrzymany punkt końcowy TCP.
[in] peerAddr
Adres IP zdalnego peera.
[in] peerPort
Port TCP zdalnego połączenia równorzędnego.

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

Typ funkcji obsługi zdarzeń odbioru danych.

Udostępnij tę funkcję osobie z przekazanym dostępem (OnDataReceived), aby umożliwić przetwarzanie zdarzeń odbierania danych w systemie endPoint, gdzie data to otrzymany tekst wiadomości.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] data
Dane odebrane.

Moduł obsługi zdarzeń odbioru danych musi potwierdzić dane przetwarzane za pomocą metody AckReceive. Metoda Free w buforze danych musi też być wywoływana, chyba że zamiast niej używana jest metoda PutBackReceivedData.

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

Typ funkcji obsługi zdarzeń transmisji danych.

Przekaż tę funkcję członkowi przekazującemu OnDataSent w celu przetwarzania zdarzeń transmisji danych w systemie endPoint, gdzie len to długość tekstu wiadomości dodanego do okna transmisji TCP, który może być wysyłany przez bazowy stos sieciowy.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] len
Liczba bajtów dodanych do okna transmisji.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Typ funkcji obsługi zdarzeń odbioru w połowie zamknięcia.

Zapewnij funkcję tego typu osobie, która przekazała nam połączenie (OnPeerClose), aby umożliwić przetwarzanie zdarzeń zakończenia połączenia w systemie endPoint.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

Typ funkcji obsługi sygnału wysłanego TCP.

Przekaż tę funkcję członkowi przedstawiciela OnTCPSendIdleChanged, aby przetworzył zdarzenie kanału wysyłania TCPEndPoint, który zmienia stan z bezczynnego na bezczynny.

Szczegóły
Parametry
[in] endPoint
Punkt końcowy TCP powiązany ze zdarzeniem.
[in] isIdle
Wartość „prawda”, jeśli kanał wysyłania punktu końcowego TCP jest nieaktywny. W przeciwnym razie ma wartość fałsz.

Atrybuty publiczne

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Delegowanie funkcji obsługi zdarzeń akceptacji połączenia z punktem końcowym.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Delegowanie funkcji obsługi zdarzeń nawiązywania połączenia z punktem końcowym.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

Delegowanie funkcji obsługi zdarzeń zamknięcia punktu końcowego.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

Połączenie z punktem końcowym odbiera przekazywanie dostępu do funkcji obsługi zdarzeń.

OnDataReceived

OnDataReceivedFunct OnDataReceived

Przekazano dostęp do funkcji obsługi zdarzenia odbioru tekstu wiadomości punktu końcowego.

OnDataSent

OnDataSentFunct OnDataSent

Delegowanie funkcji obsługi zdarzeń transmisji tekstu komunikatu punktu końcowego.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Delegowanie funkcji obsługi zdarzeń odbioru do połowy zamknięcia punktu końcowego.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

Funkcja obsługi zdarzeń przekazująca punkt końcowy sygnalizująca zmiany bezczynności kanału wysyłania połączenia TCP.

Jest ona wykorzystywana przez górne warstwy do podejmowania odpowiednich działań w zależności od tego, czy wysłane dane zostały niezawodnie dostarczone do elementu równorzędnego.

ReceiveEnabled

bool ReceiveEnabled

Przełącznik sterujący wskazujący, czy aplikacja odbiera dane.

Stan

enum nl::Inet::TCPEndPoint::@10 State

Podstawowy stan dynamiczny bazowego punktu końcowego.

Obiekty są inicjowane w stanie „ready” przejdź do kolejnych stanów odpowiadających uproszczeniu stanów maszyny stanu transportu TCP.

Uwaga: ze względu na historyczne przyczyny zgodności plików binarnych wyliczenie stanu kBasisState_Closed jest mapowane na wartość kState_Ready. Istniejący kState_Closed istnieje, aby osobno identyfikować różnicę między stanem „Jeszcze nieotwarte” i „wcześniej otwarte teraz zamknięta” które wcześniej istniały w stanach kState_Ready i kState_Closed.

Funkcje publiczne

Przerwij

void Abort(
  void
)

Zamykanie punktu końcowego, czyli wysyłanie pakietów RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Potwierdź odbiór tekstu wiadomości.

Użyj tej metody, aby potwierdzić otrzymanie wszystkich lub części otrzymanych danych. Semantyka operacyjna jest nieokreślona, jeśli pole len jest większe niż łączna liczba oczekujących niepotwierdzonych danych.

Szczegóły
Parametry
[in] len
liczba bajtów do potwierdzenia.
Zwracane wartości
INET_NO_ERROR
sukces: odebranie potwierdzone.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
INET_ERROR_CONNECTION_ABORTED
Połączenie TCP nie jest już otwarte.

Powiąż

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

Powiąż punkt końcowy z adresem IP interfejsu.

Wiąże punkt końcowy z określonym adresem IP interfejsu sieci.

Szczegóły
Parametry
[in] addrType
wersja protokołu adresu IP
[in] addr
adres IP (musi być adresem interfejsu).
[in] port
port TCP
[in] reuseAddr
opcja udostępniania powiązania z innymi punktami końcowymi
Zwracane wartości
INET_NO_ERROR
sukces: punkt końcowy powiązany z adresem
INET_ERROR_INCORRECT_STATE
punkt końcowy został wcześniej powiązany
INET_NO_MEMORY
Za mało pamięci, aby uruchomić punkt końcowy
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType nie pasuje do IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType to kIPAddressType_Any lub typ addr jest inny niż addrType.
other
inny błąd systemu lub platformy

W przypadku LwIP tej metody nie można wywoływać z uzyskaną blokadą stosu LwIP.

Zamknij

INET_ERROR Close(
  void
)

Zainicjuj pełne zamknięcie TCP, czyli zakończ operację wysyłania i odbierania.

Szczegóły
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
other
inny błąd systemu lub platformy

Connect

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

Zainicjuj połączenie TCP.

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

Szczegóły
Parametry
[in] addr
docelowy adres IP
[in] port
docelowy port TCP
[in] intf
opcjonalny wskaźnik interfejsu sieci,
Zwracane wartości
INET_NO_ERROR
sukces: aplikacja msg została dodana do kolejki transmisji.
INET_ERROR_NOT_IMPLEMENTED
nie ukończono implementacji systemu.
INET_ERROR_WRONG_ADDRESS_TYPE
adres docelowy i powiązany adres interfejsu nie mają zgodnych wersji protokołu lub typu adresu albo adres docelowy jest adresem połączenia lokalnego połączenia IPv6 i nie określono intf.
other
inny błąd systemu lub platformy

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Wyłącz funkcję utrzymywania aktywności TCP .

TCPEndPoint::DisableKeepAlive.

Wyłącz sondy utrzymywania aktywności TCP w powiązanym połączeniu TCP.

Szczegóły
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
INET_ERROR_CONNECTION_ABORTED
Połączenie TCP nie jest już otwarte.
INET_ERROR_NOT_IMPLEMENTED
nie ukończono implementacji systemu.
other
inny błąd systemu lub platformy

Uwaga: tę metodę można wywołać tylko wtedy, gdy punkt końcowy jest w jednym ze stanów połączenia. Ta metoda nie działa, jeśli w punkcie końcowym nie włączono utrzymywania aktywności.

DisableReceive

void DisableReceive(
  void
)

Wyłącz odbieranie.

Wyłącz wszystkie moduły obsługi zdarzeń. Dane wysyłane do punktu końcowego, który wyłącza odbiór, będą potwierdzone do momentu zakończenia okresu odbierania.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Włącz funkcję utrzymywania aktywności TCP .

TCPEndPoint::EnableKeepAlive.

Rozpocznij automatyczne przesyłanie TCP segmenty sond co interval s. Połączenie zostanie przerwane automatycznie po otrzymaniu odpowiedzi negatywnej lub po wysłaniu timeoutCount segmentów sondowania bez uzyskania pozytywnej odpowiedzi.

Szczegóły
Parametry
[in] interval
czas w sekundach między żądaniami sondowania.
[in] timeoutCount
liczbę sond do wysłania przed upływem limitu czasu.
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
INET_ERROR_CONNECTION_ABORTED
Połączenie TCP nie jest już otwarte.
INET_ERROR_NOT_IMPLEMENTED
nie ukończono implementacji systemu.
other
inny błąd systemu lub platformy

Szczegóły specyfikacji znajdziesz w sekcji 4.2.3.6 dokumentu RFC 1122.

Włącz sondy utrzymywania aktywności TCP w powiązanym połączeniu TCP.

Uwaga: tę metodę można wywołać tylko wtedy, gdy punkt końcowy jest w jednym ze stanów połączenia. Tę metodę można wywoływać wiele razy, aby dostosować interwał utrzymywania aktywności lub liczbę czasów oczekiwania.

Szczegóły
Parametry
interval
Odstęp (w sekundach) między sondami utrzymywania aktywności. Ta wartość określa również czas między wysłaniem ostatniego pakietu danych a wysłaniem pierwszej sondy utrzymywania aktywności.
timeoutCount
Maksymalna liczba niepotwierdzonych sond, zanim połączenie zostanie uznane za nieudane.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

WłączNoDelay.

TCPEndPoint::EnableNoDelay.

Wyłącz algorytm buforowania nagle w TCP, ustawiając opcje gniazda TCP_NOMAX.

EnableReceive

void EnableReceive(
  void
)

Włącz odbieranie.

Włączyć wszystkie moduły obsługi zdarzeń. Dane wysyłane do punktu końcowego, który wyłącza odbiór, będą potwierdzone do momentu zakończenia okresu odbierania.

Bezpłatnie

void Free(
  void
)

Zainicjuj (lub kontynuuj) pełne zamknięcie TCP, ignorując błędy.

Obiekt jest zwracany do puli bezpłatnej, przez co wszystkie pozostałe odwołania użytkowników stają się nieprawidłowe.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Wyodrębnij adres IP i port TCP lokalnego punktu końcowego.

Nie używaj wartości wskaźników NULL w żadnym z argumentów.

Szczegóły
Parametry
[out] retAddr
Adres IP lokalnego punktu końcowego.
[out] retPort
Port TCP lokalnego punktu końcowego.
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
INET_ERROR_CONNECTION_ABORTED
Połączenie TCP nie jest już otwarte.

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

Wyodrębnij adres IP i port TCP zdalnego punktu końcowego.

Nie używaj wartości wskaźników NULL w żadnym z argumentów.

Szczegóły
Parametry
[out] retAddr
Adres IP zdalnego punktu końcowego.
[out] retPort
Port TCP zdalnego punktu końcowego.
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
INET_ERROR_CONNECTION_ABORTED
Połączenie TCP nie jest już otwarte.

IsConnected

bool IsConnected(
  void
) const 

Sprawdź, czy nawiązano połączenie TCP.

Posłuchaj

INET_ERROR Listen(
  uint16_t backlog
)

Przygotuj punkt końcowy do odbierania komunikatów TCP.

Jeśli State ma już wartość kState_Listening, nie są wykonywane żadne działania. W przeciwnym razie zasada State jest ustawiona na kState_Listening, a punkt końcowy jest przygotowany do odbierania komunikatów TCP zgodnie z semantyką platformy.

Szczegóły
Parametry
[in] backlog
maksymalna głębokość kolejki akceptacji połączenia
Zwracane wartości
INET_NO_ERROR
sukces: punkt końcowy gotowy do odbierania wiadomości.
INET_ERROR_INCORRECT_STATE
Punkt końcowy już nasłuchuje.

Na niektórych platformach argument backlog nie jest używany (głębia kolejki jest stała – w danym momencie może być akceptowane tylko 1 połączenie).

W systemach LwIP nie można wywoływać tej metody z uzyskaną blokadą stosu LwIP

LogId

uint16_t LogId(
  void
)

Uzyskaj identyfikator punktu końcowego.

Szczegóły
Zwroty
Zwraca nieprzejrzysty, unikalny identyfikator logów użycia.

MarkActive

void MarkActive(
  void
)

Notuj aktywność, czyli resetuje licznik bezczynności.

Zresetować licznik czasu bezczynności do zera.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Wyodrębnij długość niepotwierdzonych danych odebranych.

Szczegóły
Zwroty
Liczba bajtów w kolejce odbierania, które nie zostały jeszcze potwierdzone przez AckReceive(uint16_t len).

PendingSendLength

uint32_t PendingSendLength(
  void
)

Wyodrębnij długość danych oczekujących na pierwszą transmisję.

Szczegóły
Zwroty
Liczba nieprzesłanych bajtów w kolejce transmisji.

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

Przekaż tekst wiadomości z powrotem do nagłówka kolejki odbierania.

Ta metoda może być wywoływana tylko przez moduły obsługi zdarzeń odbioru danych w celu umieszczenia niepotwierdzonej części danych z powrotem w kolejce odbierania. Semantyka operacyjna jest niezdefiniowana, jeśli element wywołujący znajduje się poza zakresem modułu obsługi zdarzeń odbioru danych, data nie jest elementem Weave::System::PacketBuffer udostępnionym modułowi obsługi lub data nie zawiera niepotwierdzonej części pozostałej po bajtach potwierdzonych przez wcześniejsze wywołanie metody AckReceive(uint16_t len).

Szczegóły
Parametry
[out] data
Tekst wiadomości do przekazania.
Zwracane wartości
INET_NO_ERROR
sukces: odebranie potwierdzone.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.

Wyślij

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

Wyślij tekst wiadomości przy połączeniu TCP.

Metoda Weave::System::PacketBuffer::Free jest wywoływana w argumencie data niezależnie od tego, czy przesyłanie się udało, czy nie.

Szczegóły
Parametry
[out] data
Tekst wiadomości do wysłania.
[out] push
Jeśli true, wyślij natychmiast. W przeciwnym razie kolejka.
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Ustaw czas oczekiwania na powodzenie połączenia lub zwrócenie błędu.

Szczegóły
Parametry
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Ustaw opcję gniazda TCP TCP_USER_TIMEOUT.

TCPEndPoint::SetUserTimeout.

Jeśli wartość jest większa niż 0, określa maksymalny czas (w milisekundach), przez jaki przesyłane dane mogą pozostawać niepotwierdzone, zanim TCP wymusi zamknięcie odpowiedniego połączenia. Jeśli wartość opcji to 0, TCP użyje wartości domyślnej systemu. Więcej informacji znajdziesz w dokumencie RFC 5482.

Szczegóły
Parametry
[in] userTimeoutMillis
Wartość limitu czasu oczekiwania użytkownika TCP (w milisekundach).
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_NOT_IMPLEMENTED
nie ukończono implementacji systemu.
other
inny błąd systemu lub platformy

Ustaw opcję limitu czasu gniazda użytkownika TCP.

Jeśli wartość jest większa niż 0, określa maksymalny czas (w milisekundach), przez jaki przesyłane dane mogą pozostawać niepotwierdzone, zanim TCP wymusi zamknięcie odpowiedniego połączenia. Jeśli wartość opcji to 0, TCP użyje wartości domyślnej systemu. Więcej informacji znajdziesz w dokumencie RFC 5482.

Uwaga: tę metodę można wywołać tylko wtedy, gdy punkt końcowy jest w jednym ze stanów połączenia. Tę metodę można wywoływać wiele razy, aby dostosować interwał utrzymywania aktywności lub liczbę czasów oczekiwania.

Wyłączono

INET_ERROR Shutdown(
  void
)

Zainicjuj połączenie TCP do połowy, czyli zakończ wysyłanie.

Szczegóły
Zwracane wartości
INET_NO_ERROR
sukces: wyodrębniono adres i port.
INET_ERROR_INCORRECT_STATE
Nie nawiązano połączenia TCP.
other
inny błąd systemu lub platformy