nl :: Inet :: IPEndPointBasis
#include <src/inet/IPEndPointBasis.h>
Los objetos de esta clase representan puntos finales de protocolo IP de los que no se pueden crear instancias.
Resumen
Herencia
Hereda de: nl :: :: Inet EndPointBasisSubclases conocidas directas:
nl :: Inet :: RawEndPoint
nl :: Inet :: UDPEndPoint
Tipos públicos | |
---|---|
@8 { | enumeración Estado dinámico básico del punto final subyacente. |
@9 { | enumeración Indicadores de opción de transmisión para la SendMsg método. |
OnMessageReceivedFunct )(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) | typedefvoid(* Tipo de función de manejo de eventos de recepción de texto de mensaje. |
OnReceiveErrorFunct )(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) | typedefvoid(* Tipo de función de manejo de eventos de error de recepción. |
Atributos públicos | |
---|---|
OnMessageReceived | Delegado de la función de manejo de eventos de recepción de mensajes del punto final. |
OnReceiveError | Delegado de función de manejo de eventos de error de recepción del punto final. |
mState | enum nl::Inet::IPEndPointBasis::@8 Estado dinámico básico del punto final subyacente. |
Atributos protegidos | |
---|---|
mBoundIntfId | InterfaceId |
Funciones publicas | |
---|---|
JoinMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress) | Únase a un grupo de multidifusión IP. |
LeaveMulticastGroup (InterfaceId aInterfaceId, const IPAddress & aAddress) | Deja un grupo de multidifusión de IP. |
SetMulticastLoopback (IPVersion aIPVersion, bool aLoopback) | Establezca si el tráfico de multidifusión IP debe retroceder. |
Funciones 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) |
Funciones estáticas públicas | |
---|---|
FindNetifFromInterfaceId (InterfaceId aInterfaceId) | struct netif * |
Funciones estáticas protegidas | |
---|---|
GetPacketInfo ( Weave::System::PacketBuffer *buf) | Obtenga información de direccionamiento de origen y destino de la capa IP de LwIP. |
Tipos públicos
@ 8
@8
Estado dinámico básico del punto final subyacente.
Los objetos se inicializan en el estado "listo", pasan al estado "vinculado" después de vincularse a una dirección de interfaz local, luego pasan al estado "escuchando" cuando tienen continuaciones registradas para manejar eventos para la recepción de mensajes ICMP.
Nota: El kBasisState_Closed
enumeración estado se asigna a kState_Ready
por razones de compatibilidad binaria-históricos. El vigente kState_Closed
existe para identificar por separado la distinción entre "no abierto todavía" y "abierto anteriormente ahora cerrado" que existía previamente en los kState_Ready
y kState_Closed
estados.
@ 9
@9
OnMessageReceivedFunct
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Tipo de función de manejo de eventos de recepción de texto de mensaje.
Proporcionar una función de este tipo a la OnMessageReceived
miembro delegado al mensaje de proceso de recepción de eventos de texto en endPoint
donde msg
es el texto del mensaje recibido del remitente en senderAddr
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
Tipo de función de manejo de eventos de error de recepción.
Proporcionar una función de este tipo a la OnReceiveError
miembro delegado a eventos de error de recepción proceso de endPoint
. El err
argumento proporciona detalles específicos del tipo de error.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Atributos públicos
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
Delegado de función de manejo de eventos de recepción de mensajes del punto final.
OnReceiveError
OnReceiveErrorFunct OnReceiveError
Delegado de función de manejo de eventos de error de recepción del punto final.
mState
enum nl::Inet::IPEndPointBasis::@8 mState
Estado dinámico básico del punto final subyacente.
Los objetos se inicializan en el estado "listo", pasan al estado "vinculado" después de vincularse a una dirección de interfaz local, luego pasan al estado "escuchando" cuando tienen continuaciones registradas para manejar eventos para la recepción de mensajes ICMP.
Nota: El kBasisState_Closed
enumeración estado se asigna a kState_Ready
por razones de compatibilidad binaria-históricos. El vigente kState_Closed
existe para identificar por separado la distinción entre "no abierto todavía" y "abierto anteriormente ahora cerrado" que existía previamente en los kState_Ready
y kState_Closed
estados.
Atributos protegidos
mBoundIntfId
InterfaceId mBoundIntfId
Funciones publicas
JoinMulticastGroup
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Únase a un grupo de multidifusión IP.
Únase al punto final al grupo de multidifusión proporcionado en la interfaz especificada.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
LeaveMulticastGroup
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Deje un grupo de multidifusión de IP.
Elimine el punto final del grupo de multidifusión proporcionado en la interfaz especificada.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
Establezca si el tráfico de multidifusión IP debe retroceder.
Establezca si el tráfico de multidifusión IP debe volver a este punto final.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
Funciones protegidas
Unir
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 )
En eso
void Init( InetLayer *aInetLayer )
PrepareIO
SocketEvents PrepareIO( void )
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags )
Funciones estáticas públicas
FindNetifFromInterfaceId
struct netif * FindNetifFromInterfaceId( InterfaceId aInterfaceId )
Funciones estáticas protegidas
GetPacketInfo
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
Obtenga información de direccionamiento de origen y destino de la capa IP de LwIP.
Cuando se usa LwIP, la información sobre el paquete está 'oculta' en el espacio reservado antes del inicio de los datos en el búfer de paquetes. Esto es necesario porque los eventos de la capa del sistema solo tienen dos argumentos, que en este caso se utilizan para transportar el puntero al punto final y el puntero al búfer.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | un puntero a la información de la dirección sobre el éxito; de lo contrario, NULL si no hay suficiente espacio en el paquete para la información de la dirección. |
En la mayoría de los casos, este truco de almacenar información antes de que los datos funcione porque el primer búfer en un mensaje IP LwIP contiene el espacio que se utilizó para los encabezados Ethernet / IP / UDP. Sin embargo, dado el tamaño actual de la IPPacketInfo estructura (40 bytes), es posible que haya no ser suficiente espacio para almacenar la estructura junto con la carga útil en una única memoria intermedia de paquetes. En la práctica, esto solo debería suceder para paquetes IPv4 extremadamente grandes que llegan sin un encabezado Ethernet.