nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Elle permet d'accéder aux services Internet, y compris les minuteurs, la résolution DNS (Domain Name System), le transport réseau TCP, le transport réseau UDP et le transport réseau brut, pour un seul thread.
Résumé
Pour les sockets BSD/POSIX, la notification de préparation aux événements est gérée via des descripteurs de fichier et une implémentation classique de sondage / sélection sur l'adaptation de la plate-forme.
Pour LwIP, la notification de préparation d'événements est gérée via des événements / messages et des hooks spécifiques à la plate-forme et au système pour le système d'événements / de messages.
Constructeurs et destructeurs |
|
---|---|
InetLayer(void)
Il s'agit du constructeur par défaut InetLayer.
|
Types publics |
|
---|---|
@5{
|
enum État actuel de l'objet InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Attributs publics |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
État actuel de l'objet InetLayer.
|
Attributs statiques publics |
|
---|---|
sInetEventHandlerDelegate
|
Fonctions publiques |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Annulez toute requête DNS en attente (pour un rappel de finalisation et un état de l'application correspondants) qui sont encore actives.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Permet d'obtenir l'identifiant d'interface pour l'adresse IP spécifiée.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Permet d'obtenir l'adresse IPv6 de liaison locale pour une association ou une interface spécifiée.
|
GetPlatformData(void)
|
void *
Cette commande renvoie toutes les données de plate-forme spécifiques au client qui ont été attribuées à l'instance, si elles ont été définies précédemment.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Gérer les E/S depuis un appel sélectionné
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Il s'agit de l'initialiseur explicite InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Vérifiez s'il existe une correspondance de préfixe entre l'adresse IPv6 spécifiée et l'une des adresses IPv6 configurées localement.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Crée un objet RawEndPoint pour une version et un protocole IP spécifiques.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Crée un objet TCPEndPoint.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Crée un objet TunEndPoint.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Crée un objet UDPEndPoint.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
Préparez les ensembles de descripteurs de fichier à utiliser pour
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
|
SetPlatformData(void *aPlatformData)
|
void
Les données spécifiées de la plate-forme spécifique au client sont ainsi définies sur l'instance en vue d'une récupération ultérieure par la plate-forme cliente.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Fonctions statiques publiques |
|
---|---|
HandleInetLayerEvent(Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument)
|
Weave::System::Error
|
IsDroppableEvent(Weave::System::EventType aType)
|
bool
|
UpdateSnapshot(nl::Weave::System::Stats::Snapshot & aSnapshot)
|
void
|
Types publics
@5
@5
État actuel de l'objet InetLayer.
Propriétés | |
---|---|
kState_Initialized
|
État initialisé. |
kState_NotInitialized
|
État non initialisé. |
kState_ShutdownInProgress
|
État dans lequel l'arrêt a été déclenché. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Attributs publics
État
enum nl::Inet::InetLayer::@5 State
État actuel de l'objet InetLayer.
[LECTURE SEULE] État actuel.
Attributs statiques publics
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Fonctions publiques
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Annulez toute requête DNS en attente (pour un rappel de finalisation et un état de l'application correspondants) qui sont encore actives.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Permet d'obtenir l'identifiant d'interface pour l'adresse IP spécifiée.
Si l'identifiant d'interface ne peut pas être dérivé, il est défini sur INET_NULL_INTERFACEID.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
INET_NO_ERROR de manière inconditionnelle.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Permet d'obtenir l'adresse IPv6 de liaison locale pour une association ou une interface spécifiée.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
GetPlatformData
void * GetPlatformData( void )
Cette commande renvoie toutes les données de plate-forme spécifiques au client qui ont été attribuées à l'instance, si elles ont été définies précédemment.
Détails | |
---|---|
Renvoie |
Données de plate-forme spécifiques au client, si elles ont été définies précédemment ; sinon, valeur NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Gérer les E/S depuis un appel sélectionné
Cette méthode enregistre l'événement d'E/S en attente dans chaque point de terminaison actif, puis appelle les fonctions de traitement des E/S correspondantes pour ces points de terminaison.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
InetLayer
InetLayer( void )
Il s'agit du constructeur par défaut InetLayer.
Il effectue une initialisation des membres de données de base. Toutefois, comme InetLayer suit un schéma de conception d'initialiseur explicite, la méthode InetLayer::Init doit être appelée correctement avant d'utiliser l'objet.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Il s'agit de l'initialiseur explicite InetLayer.
Cette méthode doit être appelée et effectuée correctement avant de pouvoir utiliser la couche InetLayer.
L'appelant peut fournir un argument de contexte facultatif qui sera renvoyé via n'importe quelle fonction de hook spécifique à la plate-forme. Pour les adaptations basées sur LwIP, il s'agit généralement d'un pointeur vers la file d'attente d'événements associée à l'instance InetLayer.
Les plates-formes peuvent choisir d'affirmer INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS dans leur en-tête de configuration spécifique et d'activer Platform::InetLayer::WillInit et Platform::InetLayer::DidInit hooks pour appliquer des personnalisations spécifiques à la plate-forme ou des extensions de données à InetLayer.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Vérifiez s'il existe une correspondance de préfixe entre l'adresse IPv6 spécifiée et l'une des adresses IPv6 configurées localement.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
"true" si une correspondance réussie est trouvée, sinon "false".
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Crée un objet RawEndPoint pour une version et un protocole IP spécifiques.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crée un objet TCPEndPoint.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crée un objet TunEndPoint.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crée un objet UDPEndPoint.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Préparez les ensembles de descripteurs de fichier à utiliser pour select()
.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
Détails | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||
Valeurs de retour |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
Détails | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||
Valeurs de retour |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Permet d'effectuer une résolution d'adresse IP d'un nom d'hôte spécifié.
Détails | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||
Valeurs de retour |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Les données spécifiées de la plate-forme spécifique au client sont ainsi définies sur l'instance en vue d'une récupération ultérieure par la plate-forme cliente.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
INET_ERROR Shutdown( void )
Il s'agit du désinitialiseur explicite InetLayer qui doit être appelé avant la suppression d'une instance InetLayer instanciée.
Les plates-formes peuvent choisir d'affirmer INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS dans leur en-tête de configuration spécifique et d'activer les hooks Platform::InetLayer::WillShutdown et Platform::InetLayer::DidShutdown pour nettoyer les personnalisations spécifiques à la plate-forme ou les extensions de données dans InetLayer.
Détails | |
---|---|
Renvoie |
INET_NO_ERROR en cas de réussite ; sinon, erreur spécifique indiquant la raison de l'échec de l'arrêt.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
Fonctions statiques publiques
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )