nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Gli oggetti di questa classe rappresentano gli endpoint di trasporto TCP.

Riepilogo

Nest Inet Layer incapsula i metodi per interagire con gli endpoint di trasporto TCP (socket SOCK_STREAM su sistemi Linux e BSD) o con i blocchi di controllo del protocollo TCP LwIP, poiché il sistema è configurato di conseguenza.

Eredità

Eredita da: nl::Inet::EndPointBasis

Tipi pubblici

@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
Stato dinamico di base dell'endpoint sottostante.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di funzione di gestione dell'evento di errore di accettazione della connessione.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di funzione di gestione dell'evento di creazione della connessione.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di funzione di gestione dell'evento di creazione della connessione.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Funzione di gestione degli eventi del tipo di connessione ricevuta.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Tipo di funzione di gestione degli eventi di ricezione dati.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Tipo di funzione di gestione dell'evento di trasmissione dati.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Tipo di funzione di gestione dell'evento di ricezione semichiuso.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Il tipo di funzione di gestione del segnale TCP SendIdle è stata modificata.

Attributi pubblici

OnAcceptError
Il delegato della funzione di gestione dell'evento di accettazione della connessione dell'endpoint.
OnConnectComplete
Il delegato della funzione di gestione dell'evento di creazione della connessione dell'endpoint.
OnConnectionClosed
Il delegato della funzione di gestione degli eventi di chiusura dell'endpoint.
OnConnectionReceived
La connessione dell'endpoint riceve il delegato della funzione di gestione degli eventi.
OnDataReceived
Il delegato della funzione di gestione dell'evento di ricezione del testo del messaggio dell'endpoint.
OnDataSent
Il delegato della funzione di gestione dell'evento di trasmissione del testo del messaggio dell'endpoint.
OnPeerClose
Il delegato della funzione di gestione degli eventi di gestione degli eventi di ricezione dell'endpoint metà chiusura.
OnTCPSendIdleChanged
Il delegato della funzione di gestione degli eventi dell'endpoint che segnala quando cambia l'inattività del canale di invio della connessione TCP.
ReceiveEnabled
bool
Opzione di controllo che indica se l'applicazione sta ricevendo dati.
State
enum nl::Inet::TCPEndPoint::@10
Stato dinamico di base dell'endpoint sottostante.

Funzioni pubbliche

Abort(void)
void
Chiusura abortiva dell'endpoint, in altre parole, invia pacchetti RST.
AckReceive(uint16_t len)
Conferma la ricezione del testo del messaggio.
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Associa l'endpoint a un indirizzo IP dell'interfaccia.
Close(void)
Avvio della chiusura completa TCP, in altre parole, terminata con l'invio e la ricezione.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
Avvia una connessione TCP.
DisableKeepAlive(void)
Disabilita il "keep-alive" su TCP .
DisableReceive(void)
void
Disattiva la ricezione.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
Attiva il "keep-alive" su TCP .
EnableNoDelay(void)
EnableNoDelay.
EnableReceive(void)
void
Attiva la ricezione.
Free(void)
void
Avvia (o continua) la chiusura completa TCP, ignorando gli errori.
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
Estrai l'indirizzo IP e la porta TCP dell'endpoint locale.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Estrai l'indirizzo IP e la porta TCP dell'endpoint remoto.
IsConnected(void) const
bool
Estrai se è stata stabilita la connessione TCP.
Listen(uint16_t backlog)
Prepara l'endpoint per ricevere i messaggi TCP.
LogId(void)
uint16_t
Ottieni un identificatore per l'endpoint.
MarkActive(void)
void
Le attività relative alle note, in altre parole, reimpostano il timer di inattività.
PendingReceiveLength(void)
uint32_t
Estrai la lunghezza dei dati di ricezione non confermati.
PendingSendLength(void)
uint32_t
Estrai la lunghezza dei dati in attesa della prima trasmissione.
PutBackReceivedData(Weave::System::PacketBuffer *data)
Invia il testo del messaggio all'intestazione della coda di ricezione.
Send(Weave::System::PacketBuffer *data, bool push)
Invia testo del messaggio su connessione TCP.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Imposta il timeout per la connessione in modo che la connessione vada a buon fine o restituisca un errore.
SetUserTimeout(uint32_t userTimeoutMillis)
Imposta l'opzione del socket TCP_USER_TIMEOUT TCP.
Shutdown(void)
Avvia TCP a metà chiusura, in altre parole, terminato con l'invio.

Tipi pubblici

@10

 @10

Stato dinamico di base dell'endpoint sottostante.

Gli oggetti sono inizializzati nel campo di stato, procedere agli stati successivi corrispondenti a una semplificazione degli stati della macchina a stati di trasporto TCP.

Nota: l'enumerazione dello stato kBasisState_Closed è mappata a kState_Ready per motivi storici di compatibilità binaria. L'elemento kState_Closed esistente serve a identificare separatamente la distinzione tra "non ancora aperto" e "precedentemente aperto adesso chiuso" esistenti negli stati kState_Ready e kState_Closed.

Proprietà
kState_Bound

Endpoint vincolato, ma non in ascolto.

kState_Closed

Endpoint chiuso, pronto per il rilascio.

kState_Closing

Endpoint che si chiude in modo bidirezionale.

kState_Connected

Endpoint connesso, pronto per tx/rx.

kState_Connecting

Un endpoint sta tentando di connettersi.

kState_Listening

Endpoint che riceve connessioni.

kState_Ready

Endpoint inizializzato, ma non associato.

kState_ReceiveShutdown

L'endpoint ha risposto alla metà della chiusura.

kState_SendShutdown

L'endpoint ha avviato la metà della chiusura.

OnAcceptErrorFunct

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

Tipo di funzione di gestione dell'evento di errore di accettazione della connessione.

Fornisci una funzione di questo tipo al membro delegato OnAcceptError per elaborare gli eventi di errore di accettazione della connessione il giorno endPoint. L'argomento err fornisce dettagli specifici sul tipo di errore.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] err
Il motivo dell'errore.

OnConnectCompleteFunct

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

Tipo di funzione di gestione dell'evento di creazione della connessione.

Fornisci una funzione di questo tipo al membro delegato di OnConnectComplete in modo che elabori gli eventi di creazione della connessione il giorno endPoint. L'argomento err distingue le connessioni riuscite dagli errori.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] err
INET_NO_ERROR in caso di esito positivo, altrimenti usa un altro codice.

OnConnectionClosedFunct

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

Tipo di funzione di gestione dell'evento di creazione della connessione.

Fornisci una funzione di questo tipo al membro delegato di OnConnectionClosed per elaborare gli eventi di chiusura della connessione il giorno endPoint. L'argomento err distingue le chiusure riuscite dagli errori.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] err
INET_NO_ERROR in caso di esito positivo, altrimenti usa un altro codice.

OnConnectionReceivedFunct

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

Funzione di gestione degli eventi del tipo di connessione ricevuta.

Fornisci una funzione di questo tipo al membro delegato di OnConnectionReceived per elaborare gli eventi di ricezione della connessione su listeningEndPoint. L'endpoint appena ricevuto conEndPoint si trova all'indirizzo IP peerAddr e alla porta TCP peerPort.

Dettagli
Parametri
[in] listeningEndPoint
L'endpoint TCP in ascolto.
[in] conEndPoint
L'endpoint TCP appena ricevuto.
[in] peerAddr
L'indirizzo IP del peer remoto.
[in] peerPort
La porta TCP del peer remoto.

OnDataReceivedFunct

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

Tipo di funzione di gestione degli eventi di ricezione dati.

Fornisci una funzione di questo tipo al membro delegato di OnDataReceived affinché elabori gli eventi di ricezione dati su endPoint, dove data è il testo del messaggio ricevuto.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] data
I dati ricevuti.

Un gestore di eventi di ricezione dati deve confermare i dati elaborati utilizzando il metodo AckReceive. È necessario richiamare anche il metodo Free nel buffer di dati, a meno che non venga utilizzato PutBackReceivedData.

OnDataSentFunct

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

Tipo di funzione di gestione dell'evento di trasmissione dati.

Fornisci al membro delegato di OnDataSent una funzione di questo tipo in modo che elabori gli eventi di trasmissione di dati su endPoint, dove len è la lunghezza del testo del messaggio aggiunto alla finestra di trasmissione TCP e che è idoneo per l'invio dallo stack di rete sottostante.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] len
Numero di byte aggiunti alla finestra di trasmissione.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Tipo di funzione di gestione dell'evento di ricezione semichiuso.

Fornisci una funzione di questo tipo al membro delegato di OnPeerClose per elaborare gli eventi di chiusura della connessione il giorno endPoint.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.

OnTCPSendIdleChangedFunct

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

Il tipo di funzione di gestione del segnale TCP SendIdle è stata modificata.

Fornisci una funzione di questo tipo al membro delegato OnTCPSendIdleChanged per elaborare l'evento del canale di invio di TCPEndPoint che cambia stato da inattivo a non inattivo.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] isIdle
True se il canale di invio dell'endpoint TCP è inattivo, altrimenti falso.

Attributi pubblici

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Il delegato della funzione di gestione dell'evento di accettazione della connessione dell'endpoint.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

Il delegato della funzione di gestione dell'evento di creazione della connessione dell'endpoint.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

Il delegato della funzione di gestione degli eventi di chiusura dell'endpoint.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

La connessione dell'endpoint riceve il delegato della funzione di gestione degli eventi.

OnDataReceived

OnDataReceivedFunct OnDataReceived

Il delegato della funzione di gestione dell'evento di ricezione del testo del messaggio dell'endpoint.

OnDataSent

OnDataSentFunct OnDataSent

Il delegato della funzione di gestione dell'evento di trasmissione del testo del messaggio dell'endpoint.

OnPeerClose

OnPeerCloseFunct OnPeerClose

Il delegato della funzione di gestione degli eventi di gestione degli eventi di ricezione dell'endpoint metà chiusura.

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

Il delegato della funzione di gestione degli eventi dell'endpoint che segnala quando cambia l'inattività del canale di invio della connessione TCP.

Viene utilizzato dai livelli superiori per intraprendere azioni appropriate a seconda che i dati inviati siano stati inviati in modo affidabile al peer.

ReceiveEnabled

bool ReceiveEnabled

Opzione di controllo che indica se l'applicazione sta ricevendo dati.

Stato

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

Stato dinamico di base dell'endpoint sottostante.

Gli oggetti sono inizializzati nel campo di stato, procedere agli stati successivi corrispondenti a una semplificazione degli stati della macchina a stati di trasporto TCP.

Nota: l'enumerazione dello stato kBasisState_Closed è mappata a kState_Ready per motivi storici di compatibilità binaria. L'elemento kState_Closed esistente serve a identificare separatamente la distinzione tra "non ancora aperto" e "precedentemente aperto adesso chiuso" esistenti negli stati kState_Ready e kState_Closed.

Funzioni pubbliche

Interrompi

void Abort(
  void
)

Chiusura abortiva dell'endpoint, in altre parole, invia pacchetti RST.

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Conferma la ricezione del testo del messaggio.

Utilizza questo metodo per confermare la ricezione di tutti o parte dei dati ricevuti. La semantica operativa non è definita se len è superiore al totale dei dati ricevuti non confermati in sospeso.

Dettagli
Parametri
[in] len
di byte da confermare.
Valori restituiti
INET_NO_ERROR
successo: ricezione riconosciuta.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
La connessione TCP non è più aperta.

Associa

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

Associa l'endpoint a un indirizzo IP dell'interfaccia.

Associa l'endpoint all'indirizzo IP dell'interfaccia di rete specificato.

Dettagli
Parametri
[in] addrType
la versione del protocollo dell'indirizzo IP
[in] addr
L'indirizzo IP (deve essere un indirizzo di interfaccia)
[in] port
la porta TCP
[in] reuseAddr
opzione per condividere l'associazione con altri endpoint
Valori restituiti
INET_NO_ERROR
successo: endpoint associato all'indirizzo
INET_ERROR_INCORRECT_STATE
endpoint è stato associato in precedenza
INET_NO_MEMORY
memoria insufficiente per l'endpoint
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType non corrisponde a IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType è kIPAddressType_Any oppure il tipo di addr è diverso da addrType.
other
un altro errore di sistema o di piattaforma

Su LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito.

Chiudi

INET_ERROR Close(
  void
)

Avvio della chiusura completa TCP, in altre parole, terminata con l'invio e la ricezione.

Dettagli
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
other
un altro errore di sistema o di piattaforma

Connetti

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

Avvia una connessione 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.

Dettagli
Parametri
[in] addr
l'indirizzo IP di destinazione
[in] port
la porta TCP di destinazione
[in] intf
un indicatore di interfaccia di rete facoltativo
Valori restituiti
INET_NO_ERROR
riuscita: msg è in coda per la trasmissione.
INET_ERROR_NOT_IMPLEMENTED
implementazione del sistema non completata.
INET_ERROR_WRONG_ADDRESS_TYPE
l'indirizzo di destinazione e l'indirizzo dell'interfaccia associato non hanno versioni di protocollo o tipo di indirizzo corrispondenti oppure l'indirizzo di destinazione è un indirizzo IPv6 locale rispetto al collegamento e intf non è specificato.
other
un altro errore di sistema o di piattaforma

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Disabilita il "keep-alive" su TCP .

TCPEndPoint::DisableKeepAlive.

Disabilita i probe keepalive TCP sulla connessione TCP associata.

Dettagli
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
La connessione TCP non è più aperta.
INET_ERROR_NOT_IMPLEMENTED
implementazione del sistema non completata.
other
un altro errore di sistema o di piattaforma

Nota:questo metodo può essere chiamato solo quando l'endpoint si trova in uno degli stati di connessione. Questo metodo non ha alcun effetto se le keepalive non sono state abilitate nell'endpoint.

DisableReceive

void DisableReceive(
  void
)

Disattiva la ricezione.

Disattiva tutti i gestori di eventi. I dati inviati a un endpoint che disabilita la ricezione verranno confermati fino all'esaurimento della finestra di ricezione.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Attiva il "keep-alive" su TCP .

TCPEndPoint::EnableKeepAlive.

Avvia la trasmissione automatica del protocollo "keep-alive" TCP segmenti di probe ogni interval secondi. La connessione si interromperà automaticamente dopo aver ricevuto una risposta negativa o dopo l'invio di timeoutCount segmenti del probe senza ricevere una risposta positiva.

Dettagli
Parametri
[in] interval
di tempo in secondi tra le richieste di probe.
[in] timeoutCount
di probe da inviare prima del timeout.
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
La connessione TCP non è più aperta.
INET_ERROR_NOT_IMPLEMENTED
implementazione del sistema non completata.
other
un altro errore di sistema o di piattaforma

Fare riferimento a RFC 1122, sezione 4.2.3.6 per i dettagli delle specifiche.

Abilita i probe keepalive TCP sulla connessione TCP associata.

Nota:questo metodo può essere chiamato solo quando l'endpoint si trova in uno degli stati di connessione. Questo metodo può essere chiamato più volte per regolare l'intervallo keepalive o il conteggio del timeout.

Dettagli
Parametri
interval
L'intervallo (in secondi) tra i probe keepalive. Questo valore controlla anche il tempo che intercorre tra l'ultimo pacchetto di dati inviato e la trasmissione del primo probe keepalive.
timeoutCount
Il numero massimo di probe non confermati prima della connessione verrà considerato non riuscito.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint::EnableNoDelay.

Disattiva l'algoritmo di nagle buffering in TCP impostando le opzioni socket TCP_NOSHORT.

EnableReceive

void EnableReceive(
  void
)

Attiva la ricezione.

Attiva tutti i gestori di eventi. I dati inviati a un endpoint che disabilita la ricezione verranno confermati fino all'esaurimento della finestra di ricezione.

Gratis

void Free(
  void
)

Avvia (o continua) la chiusura completa TCP, ignorando gli errori.

L'oggetto viene restituito al pool senza costi e tutti i riferimenti utente rimanenti non saranno più validi.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Estrai l'indirizzo IP e la porta TCP dell'endpoint locale.

Non utilizzare valori del puntatore NULL per nessuno dei due argomenti.

Dettagli
Parametri
[out] retAddr
Indirizzo IP dell'endpoint locale.
[out] retPort
Porta TCP dell'endpoint locale.
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
La connessione TCP non è più aperta.

GetPeerInfo

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

Estrai l'indirizzo IP e la porta TCP dell'endpoint remoto.

Non utilizzare valori del puntatore NULL per nessuno dei due argomenti.

Dettagli
Parametri
[out] retAddr
Indirizzo IP dell'endpoint remoto.
[out] retPort
Porta TCP dell'endpoint remoto.
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
La connessione TCP non è più aperta.

IsConnected

bool IsConnected(
  void
) const 

Estrai se è stata stabilita la connessione TCP.

Ascolta

INET_ERROR Listen(
  uint16_t backlog
)

Prepara l'endpoint per ricevere i messaggi TCP.

Se State è già kState_Listening, non viene eseguita alcuna operazione, altrimenti State viene impostato su kState_Listening e l'endpoint è preparato per la ricezione di messaggi TCP, in base alla semantica della piattaforma.

Dettagli
Parametri
[in] backlog
profondità massima della coda di accettazione della connessione
Valori restituiti
INET_NO_ERROR
riuscita: endpoint pronto a ricevere messaggi.
INET_ERROR_INCORRECT_STATE
l'endpoint è già in ascolto.

Su alcune piattaforme, l'argomento backlog non viene utilizzato (la profondità della coda è fissa; è possibile accettare una sola connessione alla volta).

Sui sistemi LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito

LogId

uint16_t LogId(
  void
)

Ottieni un identificatore per l'endpoint.

Dettagli
Restituisce
Restituisce un identificatore univoco opaco per i log di utilizzo.

MarkActive

void MarkActive(
  void
)

Le attività relative alle note, in altre parole, reimpostano il timer di inattività.

Ripristina il timer di inattività su zero.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Estrai la lunghezza dei dati di ricezione non confermati.

Dettagli
Restituisce
Numero di byte nella coda di ricezione che non sono ancora stati confermati con AckReceive(uint16_t len).

PendingSendLength

uint32_t PendingSendLength(
  void
)

Estrai la lunghezza dei dati in attesa della prima trasmissione.

Dettagli
Restituisce
Numero di byte non trasmessi nella coda di trasmissione.

PutBackReceivedData

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

Invia il testo del messaggio all'intestazione della coda di ricezione.

Questo metodo può essere chiamato solo dai gestori di eventi di ricezione dati per reinserire una parte non confermata dei dati nella coda di ricezione. La semantica operativa non è definita se il chiamante non rientra nell'ambito di un gestore di eventi di ricezione dati, data non è il Weave::System::PacketBuffer fornito al gestore oppure data non contiene la parte non confermata rimanente dopo i byte confermati da una precedente chiamata al metodo AckReceive(uint16_t len).

Dettagli
Parametri
[out] data
Testo del messaggio di cui eseguire il push.
Valori restituiti
INET_NO_ERROR
successo: ricezione riconosciuta.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.

Invia

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

Invia testo del messaggio su connessione TCP.

Il metodo Weave::System::PacketBuffer::Free viene richiamato sull'argomento data indipendentemente dal fatto che la trasmissione sia riuscita o meno.

Dettagli
Parametri
[out] data
Testo del messaggio da inviare.
[out] push
Se true, invia immediatamente, altrimenti metti in coda.
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Imposta il timeout per la connessione in modo che la connessione vada a buon fine o restituisca un errore.

Dettagli
Parametri
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Imposta l'opzione del socket TCP_USER_TIMEOUT TCP.

TCPEndPoint::SetUserTimeout.

Quando il valore è maggiore di 0, specifica la quantità massima di tempo in millisecondi durante la quale i dati trasmessi possono rimanere non riconosciuti prima che TCP chiuda forzatamente la connessione corrispondente. Se il valore dell'opzione è specificato su 0, TCP utilizzerà il valore predefinito del sistema. Per ulteriori dettagli, vedi RFC 5482.

Dettagli
Parametri
[in] userTimeoutMillis
Valore di timeout utente TCP in millisecondi.
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_NOT_IMPLEMENTED
implementazione del sistema non completata.
other
un altro errore di sistema o di piattaforma

Imposta l'opzione socket del timeout dell'utente TCP.

Quando il valore è maggiore di 0, specifica la quantità massima di tempo in millisecondi durante la quale i dati trasmessi possono rimanere non riconosciuti prima che TCP chiuda forzatamente la connessione corrispondente. Se il valore dell'opzione è specificato su 0, TCP utilizzerà il valore predefinito del sistema. Per ulteriori dettagli, vedi RFC 5482.

Nota:questo metodo può essere chiamato solo quando l'endpoint si trova in uno degli stati di connessione. Questo metodo può essere chiamato più volte per regolare l'intervallo keepalive o il conteggio del timeout.

Arresto

INET_ERROR Shutdown(
  void
)

Avvia TCP a metà chiusura, in altre parole, terminato con l'invio.

Dettagli
Valori restituiti
INET_NO_ERROR
successo: indirizzo e porta estratti.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
other
un altro errore di sistema o di piattaforma