Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

nl:: Inetto:: TCPEndPoint

#include <src/inet/TCPEndPoint.h>

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

Sommario

Nest Inet Layer incapsula metodi per interagire con endpoint di trasporto TCP (socket SOCK_STREAM su sistemi Linux e derivati ​​da BSD) o 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 degli eventi di errore di accettazione della connessione.
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di funzione di gestione degli eventi di creazione della connessione.
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di funzione di gestione degli eventi di creazione della connessione.
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Tipo di connessione ricevuta funzione di gestione degli eventi.
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Tipo di funzione di gestione degli eventi di ricezione dei dati.
OnDataSentFunct )(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Tipo di funzione di gestione degli eventi di trasmissione dati.
OnPeerCloseFunct )(TCPEndPoint *endPoint) typedef
void(*
Tipo di funzione di gestione dell'evento di ricezione semichiusa.
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
Tipo di funzione di gestione del segnale modificata da TCP SendIdle.

Attributi pubblici

OnAcceptError
Delegato della funzione di gestione dell'evento di accettazione della connessione dell'endpoint.
OnConnectComplete
Delegato della funzione di gestione dell'evento di creazione della connessione dell'endpoint.
OnConnectionClosed
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
Delegato della funzione di gestione dell'evento di ricezione del testo del messaggio dell'endpoint.
OnDataSent
Il delegato della funzione di gestione degli eventi di trasmissione del testo del messaggio dell'endpoint.
OnPeerClose
La semichiusura dell'endpoint riceve il delegato della funzione di gestione degli eventi.
OnTCPSendIdleChanged
Il delegato della funzione di gestione degli eventi dell'endpoint segnala quando l'inattività del canale di invio della connessione TCP cambia.
ReceiveEnabled
bool
Interruttore 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
Chiudere in modo abortivo l'endpoint, in altre parole, inviare pacchetti RST.
AckReceive (uint16_t len)
Confermare la ricezione del testo del messaggio.
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Associa l'endpoint a un indirizzo IP di interfaccia.
Close (void)
Iniziare la chiusura completa TCP, in altre parole, terminare sia l'invio che la ricezione.
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
Avvia una connessione TCP.
DisableKeepAlive (void)
Disabilita l'opzione TCP "keep-alive".
DisableReceive (void)
void
Disabilita la ricezione.
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
Abilita l'opzione TCP "keep-alive".
EnableNoDelay (void)
EnableNoDelay.
EnableReceive (void)
void
Abilita la ricezione.
Free (void)
void
Avviare (o continuare) la chiusura completa del 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
Estrarre se è stata stabilita una connessione TCP.
Listen (uint16_t backlog)
Preparare l'endpoint per ricevere i messaggi TCP.
LogId (void)
uint16_t
Ottenere un identificatore per l'endpoint.
MarkActive (void)
void
Annotare l'attività, in altre parole, reimpostare il timer di inattività.
PendingReceiveLength (void)
uint32_t
Estrarre la lunghezza dei dati di ricezione non riconosciuti.
PendingSendLength (void)
uint32_t
Estrarre la lunghezza dei dati in attesa della prima trasmissione.
PutBackReceivedData ( Weave::System::PacketBuffer *data)
Riporta il testo del messaggio all'inizio della coda di ricezione.
Send ( Weave::System::PacketBuffer *data, bool push)
Invia il testo del messaggio sulla connessione TCP.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
Imposta il timeout affinché Connect abbia esito positivo o restituisca un errore.
SetUserTimeout (uint32_t userTimeoutMillis)
Impostare l'opzione socket TCP TCP_USER_TIMEOUT.
Shutdown (void)
Avviare il TCP a metà chiuso, in altre parole, terminato con l'invio.

Tipi pubblici

@10

 @10

Stato dinamico di base dell'endpoint sottostante.

Gli oggetti vengono inizializzati nello stato "ready", si procede agli stati successivi corrispondenti ad una semplificazione degli stati della macchina a stati di trasporto TCP.

Nota: Il kBasisState_Closed censimento stato viene mappato kState_Ready per ragioni di compatibilità binaria storici. L'attuale kState_Closed esiste per identificare separatamente la distinzione tra "non ancora aperto" e "aperto in precedenza ormai chiuso" che esisteva in precedenza nelle kState_Ready e kState_Closed stati.

Proprietà
kState_Bound

Limitato all'endpoint, 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

Endpoint che tenta di connettersi.

kState_Listening

Connessioni di ricezione dell'endpoint.

kState_Ready

Endpoint inizializzato, ma non associato.

kState_ReceiveShutdown

L'endpoint ha risposto a metà chiusura.

kState_SendShutdown

Endpoint ha iniziato la sua semichiusura.

OnAcceptErrorFunct

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

Tipo di funzione di gestione degli eventi di errore di accettazione della connessione.

Fornire una funzione di questo tipo al OnAcceptError membro delegato al collegamento processo eventi errore accettazione endPoint . err argomento fornisce dettagli sul tipo dell'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 degli eventi di creazione della connessione.

Fornire una funzione di questo tipo al OnConnectComplete membro delegato per elaborare gli eventi di realizzazione del collegamento su endPoint . err argomento distingue connessioni riuscite da fallimenti.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] err
INET_NO_ERROR se il successo, altrimenti un altro codice.

OnConnectionClosedFunct

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

Tipo di funzione di gestione degli eventi di creazione della connessione.

Fornire una funzione di questo tipo al OnConnectionClosed membro delegato ad eventi di terminazione di connessione di processo su endPoint . err argomento distingue terminazioni di successo da fallimenti.

Dettagli
Parametri
[in] endPoint
L'endpoint TCP associato all'evento.
[in] err
INET_NO_ERROR se il successo, altrimenti un altro codice.

OnConnectionReceivedFunct

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

Tipo di connessione ricevuta funzione di gestione degli eventi.

Fornire una funzione di questo tipo al OnConnectionReceived membro delegato al collegamento processo eventi ricezione su listeningEndPoint . L'endpoint di recente ricevuto conEndPoint si trova all'indirizzo IP peerAddr e 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 dei dati.

Fornire una funzione di questo tipo al OnDataReceived membro delegato per elaborare gli eventi di ricezione dati sul endPoint in cui 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 ricezione dei dati deve riconoscere i dati elaborati utilizzando AckReceive metodo. Il Free metodo sul buffer di dati deve essere richiamato a meno che la PutBackReceivedData viene utilizzato invece.

OnDataSentFunct

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

Tipo di funzione di gestione degli eventi di trasmissione dati.

Fornire una funzione di questo tipo al OnDataSent membro delegato al processo eventi di trasmissione dati su endPoint dove len è la lunghezza del testo del messaggio aggiunto alla finestra di trasmissione TCP, che sono idonee 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.

OnPeerCloseFunzione

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

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

Fornire una funzione di questo tipo al OnPeerClose membro delegato per elaborare gli eventi di terminazione collegamento su endPoint .

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

OnTCPSendIdleChangedFunct

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

Tipo di funzione di gestione del segnale modificata da TCP SendIdle.

Fornire una funzione di questo tipo al OnTCPSendIdleChanged membro delegato elaborare l'evento del canale di mandata del TCPEndPoint cambiamento di stato tra l'essere o inattività.

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

Attributi pubblici

OnAcceptError

OnAcceptErrorFunct OnAcceptError

Delegato della funzione di gestione dell'evento di accettazione della connessione dell'endpoint.

SuConnettiCompletato

OnConnectCompleteFunct OnConnectComplete

Delegato della funzione di gestione dell'evento di creazione della connessione dell'endpoint.

SuConnessioneChiusa

OnConnectionClosedFunct OnConnectionClosed

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

Alla connessione ricevuta

OnConnectionReceivedFunct OnConnectionReceived

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

Su dati ricevuti

OnDataReceivedFunct OnDataReceived

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

SuDataSent

OnDataSentFunct OnDataSent

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

OnPeerClose

OnPeerCloseFunct OnPeerClose

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

OnTCPSendIdleCambiato

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

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

Questo viene utilizzato dai livelli superiori per intraprendere azioni appropriate in base al fatto che i dati inviati siano stati consegnati in modo affidabile al peer.

Ricevi abilitato

bool ReceiveEnabled

Interruttore 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 vengono inizializzati nello stato "ready", si procede agli stati successivi corrispondenti ad una semplificazione degli stati della macchina a stati di trasporto TCP.

Nota: Il kBasisState_Closed censimento stato viene mappato kState_Ready per ragioni di compatibilità binaria storici. L'attuale kState_Closed esiste per identificare separatamente la distinzione tra "non ancora aperto" e "aperto in precedenza ormai chiuso" che esisteva in precedenza nelle kState_Ready e kState_Closed stati.

Funzioni pubbliche

Interrompi

void Abort(
  void
)

Chiudere in modo abortivo l'endpoint, in altre parole, inviare pacchetti RST.

AckRicevi

INET_ERROR AckReceive(
  uint16_t len
)

Confermare la ricezione del testo del messaggio.

Utilizzare questo metodo per confermare la ricezione di tutti o parte dei dati ricevuti. La semantica operative sono indefinito se len è più grande l'eccezionale totale di dati non riconosciuti ricevuto.

Dettagli
Parametri
[in] len
numero di byte da riconoscere.
Valori di ritorno
INET_NO_ERROR
successo: ricezione riconosciuta.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.
INET_ERROR_CONNECTION_ABORTED
Connessione TCP non più aperta.

legare

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

Associa l'endpoint a un indirizzo IP di 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 di ritorno
INET_NO_ERROR
successo: endpoint vincolato all'indirizzo
INET_ERROR_INCORRECT_STATE
l'endpoint è stato associato in precedenza
INET_NO_MEMORY
memoria insufficiente per l'endpoint
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType non corrisponde IPVer .
INET_ERROR_WRONG_ADDRESS_TYPE
addrType è kIPAddressType_Any , o il tipo di addr non è uguale a addrType .
other
un altro errore di sistema o piattaforma

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

Vicino

INET_ERROR Close(
  void
)

Iniziare la chiusura completa del TCP, in altre parole, terminare sia l'invio che la ricezione.

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

Collegare

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 opzionale
Valori di ritorno
INET_NO_ERROR
successo: msg è in coda per la trasmissione.
INET_ERROR_NOT_IMPLEMENTED
implementazione del sistema non completa.
INET_ERROR_WRONG_ADDRESS_TYPE
l'indirizzo di destinazione e l'indirizzo dell'interfaccia legato non hanno versioni del protocollo di corrispondenza o tipo di indirizzo, o l'indirizzo di destinazione è un indirizzo link-local IPv6 e intf non è specificato.
other
un altro errore di sistema o piattaforma

Disattiva KeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Disabilita l'opzione TCP "keep-alive".

TCPEndPoint :: DisableKeepAlive .

Disabilitare i probe keepalive TCP sulla connessione TCP associata.

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

Nota: Questo metodo può essere chiamato solo quando il computer è in uno degli stati collegati. Questo metodo non fa nulla se i keepalive non sono stati abilitati sull'endpoint.

Disabilita ricezione

void DisableReceive(
  void
)

Disabilita la ricezione.

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

AbilitaKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Abilita l'opzione TCP "keep-alive".

TCPEndPoint :: EnableKeepAlive .

Avvia automaticamente la trasmissione TCP segmenti della sonda "keep-alive" ogni interval secondi. Il collegamento interrompe automaticamente dopo aver ricevuto una risposta negativa, o dopo l'invio timeoutCount segmenti sonda senza ricevere una risposta positiva.

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

Vedere 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 il computer è in uno degli stati collegati. 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 le sonde keepalive. Questo valore controlla anche il tempo tra l'ultimo pacchetto di dati inviato e la trasmissione della prima sonda keepalive.
timeoutCount
Il numero massimo di sonde non riconosciute prima della connessione sarà considerato fallito.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint :: EnableNoDelay .

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

Abilita ricezione

void EnableReceive(
  void
)

Abilita la ricezione.

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

Gratuito

void Free(
  void
)

Avviare (o continuare) la chiusura completa del TCP, ignorando gli errori.

L'oggetto viene restituito al pool disponibile e tutti i riferimenti utente rimanenti sono successivamente non validi.

Ottieni informazioni locali

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

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

Non utilizzare NULL valori di puntatore per uno degli argomenti.

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

Ottieni informazioni sui colleghi

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

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

Non utilizzare NULL valori di puntatore per uno degli argomenti.

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

È connesso

bool IsConnected(
  void
) const 

Estrarre se è stata stabilita una connessione TCP.

Ascolta

INET_ERROR Listen(
  uint16_t backlog
)

Preparare l'endpoint per ricevere i messaggi TCP.

Se State è già kState_Listening , quindi nessuna operazione viene eseguita, altrimenti lo State è impostato su kState_Listening e il punto finale è preparato ai messaggi TCP ricevuti, secondo la semantica della piattaforma.

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

Su alcune piattaforme, il backlog argomento non viene usato (la profondità della coda è fisso; una sola connessione può essere accettata alla volta).

Sui sistemi LwIP questo metodo non deve essere chiamato con lo stack lock LwIP già acquisito

ID registro

uint16_t LogId(
  void
)

Ottenere un identificatore per l'endpoint.

Dettagli
ritorna
Restituisce un identificatore univoco opaco per i registri di utilizzo.

Contrassegna come attivo

void MarkActive(
  void
)

Annotare l'attività, in altre parole, reimpostare il timer di inattività.

Azzera il timer di inattività.

Lunghezza di ricezione in attesa

uint32_t PendingReceiveLength(
  void
)

Estrarre la lunghezza dei dati di ricezione non riconosciuti.

Dettagli
ritorna
Numero di byte nella coda di ricezione che non sono ancora stato riconosciuto con AckReceive(uint16_t len) .

Lunghezza di invio in sospeso

uint32_t PendingSendLength(
  void
)

Estrarre la lunghezza dei dati in attesa della prima trasmissione.

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

PutBackReceivedData

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

Riporta il testo del messaggio all'inizio della coda di ricezione.

Questo metodo può essere chiamato solo dai gestori di eventi di ricezione dati per rimettere una parte di dati non riconosciuta nella coda di ricezione. Semantica operazionale non sono definite se il chiamante non rientra nell'ambito di un gestore di eventi ricezione di dati, data non è la Weave::System::PacketBuffer fornito al gestore, o data non contiene la parte non riconosciuta rimanente dopo i byte riconosciuto da un prima chiamata al AckReceive(uint16_t len) metodo.

Dettagli
Parametri
[out] data
Testo del messaggio da spingere.
Valori di ritorno
INET_NO_ERROR
successo: ricezione riconosciuta.
INET_ERROR_INCORRECT_STATE
Connessione TCP non stabilita.

Spedire

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

Invia il testo del messaggio sulla connessione TCP.

Il Weave::System::PacketBuffer::Free metodo viene chiamato sulla data argomento indipendentemente dal fatto che la trasmissione è riuscito o non riuscito.

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

Imposta ConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Imposta il timeout affinché Connect abbia esito positivo o restituisca un errore.

Dettagli
Parametri
[in] connTimeoutMsecs

Imposta UserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Impostare l'opzione socket TCP TCP_USER_TIMEOUT.

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 come 0, TCP utilizzerà l'impostazione predefinita del sistema. Vedere RFC 5482, per ulteriori dettagli.

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

Imposta l'opzione socket timeout 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 come 0, TCP utilizzerà il valore predefinito del sistema. Vedere RFC 5482, per ulteriori dettagli.

Nota: Questo metodo può essere chiamato solo quando il computer è in uno degli stati collegati. Questo metodo può essere chiamato più volte per regolare l'intervallo keepalive o il conteggio del timeout.

Spegnimento

INET_ERROR Shutdown(
  void
)

Avviare il TCP a metà chiuso, in altre parole, terminato con l'invio.

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