O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

nl :: Inet :: IPEndPointBasis

#include <src/inet/IPEndPointBasis.h>

Os objetos desta classe representam pontos de extremidade de protocolo IP não instanciáveis.

Resumo

Herança

Herda de: nl :: Inet :: EndPointBasis
Subclasses diretamente conhecidas:
  nl :: Inet :: RawEndPoint
  nl :: Inet :: UDPEndPoint

Tipos públicos

@8 {
kState_Ready = kBasisState_Closed,
kState_Bound = 1,
kState_Listening = 2,
kState_Closed = 3
}
enum
Estado dinâmico básico do ponto de extremidade subjacente.
@9 {
kSendFlag_RetainBuffer = 0x0040
}
enum
Transmita sinalizadores de opção para o método SendMsg .
OnMessageReceivedFunct )(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) typedef
void(*
Tipo de função de tratamento de eventos de recepção de texto de mensagem.
OnReceiveErrorFunct )(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Tipo de função de tratamento de eventos de erro de recepção.

Atributos públicos

OnMessageReceived
O delegado da função de manipulação de eventos de recepção de mensagem do terminal.
OnReceiveError
O delegado da função de tratamento de eventos de erro de recebimento do terminal
mState
enum nl::Inet::IPEndPointBasis::@8
Estado dinâmico básico do ponto de extremidade subjacente.

Atributos protegidos

mBoundIntfId
InterfaceId

Funções públicas

JoinMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress)
Junte-se a um grupo de multicast IP.
LeaveMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress)
Deixe um grupo de multicast IP.
SetMulticastLoopback (IPVersion aIPVersion, bool aLoopback)
Defina se o tráfego IP multicast deve ser repetido.

Funções protegidas

Bind (IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId)
BindInterface (IPAddressType aAddressType, InterfaceId aInterfaceId)
GetSocket (IPAddressType aAddressType, int aType, int aProtocol)
HandleDataReceived ( Weave::System::PacketBuffer *aBuffer)
void
HandlePendingIO (uint16_t aPort)
void
Init ( InetLayer *aInetLayer)
void
PrepareIO (void)
SendMsg (const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags)

Funções estáticas públicas

FindNetifFromInterfaceId (InterfaceId aInterfaceId)
struct netif *

Funções estáticas protegidas

GetPacketInfo ( Weave::System::PacketBuffer *buf)
Obtenha informações de endereçamento de origem e destino da camada IP LwIP.

Tipos públicos

@ 8

 @8

Estado dinâmico básico do ponto de extremidade subjacente.

Os objetos são inicializados no estado "pronto", prosseguem para o estado "vinculado" após a vinculação a um endereço de interface local e, a seguir, passam para o estado "escutando" quando tiverem continuações registradas para tratamento de eventos para recepção de mensagens ICMP.

Nota: A enumeração do estado kBasisState_Closed é mapeada para kState_Ready por kState_Ready históricas de compatibilidade binária. O existente kState_Closed existe para identificar separadamente a distinção entre "não abriu ainda" e "aberta anteriormente fechado agora" que existia anteriormente nos kState_Ready e kState_Closed estados.

Propriedades
kState_Bound

Limitado ao ponto final, mas sem escuta.

kState_Closed

Endpoint fechado, pronto para lançamento.

kState_Listening

Endpoint recebendo datagramas.

kState_Ready

Endpoint inicializado, mas não aberto.

@ 9

 @9

Transmita sinalizadores de opção para o método SendMsg .

Propriedades
kSendFlag_RetainBuffer

Não enfileire destrutivamente a mensagem diretamente.

Coloque uma cópia na fila.

OnMessageReceivedFunct

void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)

Tipo de função de tratamento de eventos de recepção de texto de mensagem.

Fornece uma função desse tipo ao membro delegado OnMessageReceived para processar eventos de recepção de texto de mensagem no endPoint onde msg é o texto da mensagem recebido do remetente em senderAddr .

Detalhes
Parâmetros
[in] endPoint
O endpoint associado ao evento.
[in] msg
O texto da mensagem recebida.
[in] senderAddr
O endereço IP do remetente.

OnReceiveErrorFunct

void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)

Tipo de função de tratamento de eventos de erro de recepção.

Fornece uma função desse tipo ao membro delegado OnReceiveError para processar eventos de erro de recepção no ponto endPoint . O argumento err fornece detalhes específicos sobre o tipo de erro.

Detalhes
Parâmetros
[in] endPoint
O endpoint associado ao evento.
[in] err
O motivo do erro.

Atributos públicos

OnMessageReceived

OnMessageReceivedFunct OnMessageReceived

O delegado da função de manipulação de eventos de recepção de mensagem do terminal.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

O delegado da função de tratamento de eventos de erro de recebimento do terminal

mState

enum nl::Inet::IPEndPointBasis::@8 mState

Estado dinâmico básico do ponto de extremidade subjacente.

Os objetos são inicializados no estado "pronto", prosseguem para o estado "vinculado" após a vinculação a um endereço de interface local e, a seguir, passam para o estado "escutando" quando tiverem continuações registradas para tratamento de eventos para recepção de mensagens ICMP.

Nota: A enumeração do estado kBasisState_Closed é mapeada para kState_Ready por kState_Ready históricas de compatibilidade binária. O existente kState_Closed existe para identificar separadamente a distinção entre "não abriu ainda" e "aberta anteriormente fechado agora" que existia anteriormente nos kState_Ready e kState_Closed estados.

Atributos protegidos

mBoundIntfId

InterfaceId mBoundIntfId

Funções públicas

JoinMulticastGroup

INET_ERROR JoinMulticastGroup(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

Junte-se a um grupo de multicast IP.

Junte-se ao ponto de extremidade ao grupo multicast fornecido na interface especificada.

Detalhes
Parâmetros
[in] aInterfaceId
o indicador da interface de rede para adicionar ao grupo multicast
[in] aAddress
o grupo multicast ao qual adicionar a interface
Valores Retornados
INET_NO_ERROR
sucesso: grupo multicast removido
INET_ERROR_UNKNOWN_INTERFACE
interface de rede desconhecida, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress não é kIPAddressType_IPv4 ou kIPAddressType_IPv6 ou não é multicast
other
outro sistema ou erro de plataforma

LeaveMulticastGroup

INET_ERROR LeaveMulticastGroup(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

Deixe um grupo de multicast IP.

Remova o ponto de extremidade do grupo multicast fornecido na interface especificada.

Detalhes
Parâmetros
[in] aInterfaceId
o indicador da interface de rede para remover do grupo multicast
[in] aAddress
o grupo multicast para remover a interface de
Valores Retornados
INET_NO_ERROR
sucesso: grupo multicast removido
INET_ERROR_UNKNOWN_INTERFACE
interface de rede desconhecida, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress não é kIPAddressType_IPv4 ou kIPAddressType_IPv6 ou não é multicast
other
outro sistema ou erro de plataforma

SetMulticastLoopback

INET_ERROR SetMulticastLoopback(
  IPVersion aIPVersion,
  bool aLoopback
)

Defina se o tráfego IP multicast deve ser repetido.

Defina se o tráfego IP multicast deve ou não ser retornado a este ponto de extremidade.

Detalhes
Parâmetros
[in] aIPVersion
[in] aLoop
Valores Retornados
INET_NO_ERROR
sucesso: conjunto de comportamento de loopback multicast
other
outro sistema ou erro de plataforma

Funções protegidas

Ligar

INET_ERROR Bind(
  IPAddressType aAddressType,
  IPAddress aAddress,
  uint16_t aPort,
  InterfaceId aInterfaceId
)

BindInterface

INET_ERROR BindInterface(
  IPAddressType aAddressType,
  InterfaceId aInterfaceId
)

GetSocket

INET_ERROR GetSocket(
  IPAddressType aAddressType,
  int aType,
  int aProtocol
)

HandleDataReceived

void HandleDataReceived(
  Weave::System::PacketBuffer *aBuffer
)

HandlePendingIO

void HandlePendingIO(
  uint16_t aPort
)

Iniciar

void Init(
  InetLayer *aInetLayer
)

PrepareIO

SocketEvents PrepareIO(
  void
)

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *aPktInfo,
  Weave::System::PacketBuffer *aBuffer,
  uint16_t aSendFlags
)

Funções estáticas públicas

FindNetifFromInterfaceId

struct netif * FindNetifFromInterfaceId(
  InterfaceId aInterfaceId
)

Funções estáticas protegidas

GetPacketInfo

IPPacketInfo * GetPacketInfo(
  Weave::System::PacketBuffer *buf
)

Obtenha informações de endereçamento de origem e destino da camada IP LwIP.

Ao usar LwIP, a informação sobre o pacote é 'escondida' no espaço reservado antes do início dos dados no buffer do pacote. Isso é necessário porque os eventos da camada do sistema têm apenas dois argumentos, que neste caso são usados ​​para transmitir o ponteiro para o ponto final e o ponteiro para o buffer.

Detalhes
Parâmetros
[in] aBuffer
o buffer de pacote contendo a mensagem IP
Devoluções
um ponteiro para as informações de endereço em caso de sucesso; caso contrário, será NULL se não houver espaço suficiente no pacote para as informações de endereço.

Na maioria dos casos, esse truque de armazenar informações antes dos dados funcionar porque o primeiro buffer em uma mensagem LwIP IP contém o espaço que foi usado para os cabeçalhos Ethernet / IP / UDP. No entanto, dado o tamanho atual da estrutura IPPacketInfo (40 bytes), é possível que não haja espaço suficiente para armazenar a estrutura junto com a carga útil em um único buffer de pacote. Na prática, isso só deve acontecer para pacotes IPv4 extremamente grandes que chegam sem um cabeçalho Ethernet.