nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Zapewnia to dostęp do usług internetowych, w tym liczników czasu, rozpoznawania nazw DNS, transportu TCP, transportu sieciowego UDP i nieprzetworzonego transportu sieciowego, w pojedynczym wątku.
Podsumowanie
W przypadku gniazd BSD/POSIX powiadomienia o gotowości zdarzeń są obsługiwane za pomocą deskryptorów plików oraz tradycyjnej implementacji sondowania / wyboru w adaptacji platformy.
W przypadku protokołu LwIP powiadomienie o gotowości zdarzenia jest obsługiwane przez zdarzenia / wiadomości oraz punkty zaczepienia platformy i systemu dla systemu zdarzeń / wiadomości.
Konstruktory i niszczyciele |
|
---|---|
InetLayer(void)
To jest domyślny konstruktor InetLayer.
|
Typy publiczne |
|
---|---|
@5{
|
enum | typ wyliczeniowy Bieżący stan obiektu InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Atrybuty publiczne |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
Bieżący stan obiektu InetLayer.
|
Publiczne atrybuty statyczne |
|
---|---|
sInetEventHandlerDelegate
|
Funkcje publiczne |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Anuluj wszystkie oczekujące zapytania DNS (dotyczące pasującego wywołania zwrotnego i stanu aplikacji), które mogą być nadal aktywne.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Uzyskaj identyfikator interfejsu dla określonego adresu IP.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Pobieranie lokalnego adresu IPv6 połączenia dla określonego linku lub interfejsu.
|
GetPlatformData(void)
|
void *
Spowoduje to zwrócenie wszystkich danych platformy specyficznych dla klienta, które zostały przypisane do instancji, jeśli zostały wcześniej ustawione.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Obsługa wejścia-wyjścia z wybranego połączenia.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
To jest jawny inicjator InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Sprawdź, czy występuje dopasowanie prefiksu między podanym adresem IPv6 a którymkolwiek z lokalnie skonfigurowanych adresów IPv6.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Tworzy nowy obiekt RawEndPoint dla określonej wersji adresu IP i protokołu.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Tworzy nowy obiekt TCPEndPoint.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Tworzy nowy obiekt TunEndPoint.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Tworzy nowy obiekt UDPEndPoint.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
Przygotuj zestawy deskryptorów plików, których będzie używać
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
|
SetPlatformData(void *aPlatformData)
|
void
Powoduje to ustawienie w instancji określonych danych platformy specyficznych dla klienta, które mogą być później pobierane przez platformę klienta.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Publiczne funkcje statyczne |
|
---|---|
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
|
Typy publiczne
@5
@5
Bieżący stan obiektu InetLayer.
Właściwości | |
---|---|
kState_Initialized
|
Stan zainicjowany. |
kState_NotInitialized
|
Nie zainicjowano. |
kState_ShutdownInProgress
|
Stan, w którym aktywowano wyłączenie. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Atrybuty publiczne
Publiczne atrybuty statyczne
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Funkcje publiczne
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Anuluj wszystkie oczekujące zapytania DNS (dotyczące pasującego wywołania zwrotnego i stanu aplikacji), które mogą być nadal aktywne.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Uzyskaj identyfikator interfejsu dla określonego adresu IP.
Jeśli nie można wyodrębnić identyfikatora interfejsu, ustaw go na wartość INET_NULL_INTERFACEID.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
INET_NO_ERROR bezwarunkowo.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Pobieranie lokalnego adresu IPv6 połączenia dla określonego linku lub interfejsu.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
GetPlatformData
void * GetPlatformData( void )
Spowoduje to zwrócenie wszystkich danych platformy specyficznych dla klienta, które zostały przypisane do instancji, jeśli zostały wcześniej ustawione.
Szczegóły | |
---|---|
Zwroty |
dane platformy dotyczące konkretnego klienta, jeśli zostały już ustawione; w przeciwnym razie ma wartość NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Obsługa wejścia-wyjścia z wybranego połączenia.
Ta metoda rejestruje oczekujące zdarzenie wejścia-wyjścia w każdym aktywnym punkcie końcowym, a następnie wywołuje odpowiednie funkcje obsługi wejścia-wyjścia dla tych punktów końcowych.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
InetLayer
InetLayer( void )
To jest domyślny konstruktor InetLayer.
Inicjuje kilka podstawowych elementów danych; Ponieważ jednak InetLayer ma wyraźny wzorzec projektowania inicjatora, przed użyciem obiektu należy wywołać metodę InetLayer::Init.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
To jest jawny inicjator InetLayer.
Aby można było użyć warstwy InetLayer, ta operacja musi zostać wywołana i zakończona.
Element wywołujący może podać opcjonalny argument kontekstowy, który będzie zwracany przez dowolne funkcje hooki specyficzne dla danej platformy. W przypadku adaptacji opartych na LwIP będzie to zwykle wskaźnik do kolejki zdarzeń powiązanej z instancją InetLayer.
Platformy mogą zgłosić zaczepy INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS w nagłówku konfiguracji na poziomie platformy i włączyć tagi Platform::InetLayer::WillInit i Platform::InetLayer::DidInit w celu wprowadzenia dostosowań specyficznych dla platformy lub rozszerzeń danych w InetLayer.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Sprawdź, czy występuje dopasowanie prefiksu między podanym adresem IPv6 a którymkolwiek z lokalnie skonfigurowanych adresów IPv6.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
true (prawda) w przypadku znalezienia prawidłowego dopasowania. W przeciwnym razie ma wartość false (fałsz).
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Tworzy nowy obiekt RawEndPoint dla określonej wersji adresu IP i protokołu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Tworzy nowy obiekt TCPEndPoint.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Tworzy nowy obiekt TunEndPoint.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Tworzy nowy obiekt UDPEndPoint.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Przygotuj zestawy deskryptorów plików, których będzie używać select()
.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Rozpoznawanie nazw hostów przez adresy IP o określonej nazwie.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Powoduje to ustawienie w instancji określonych danych platformy specyficznych dla klienta, które mogą być później pobierane przez platformę klienta.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Wyłączono
INET_ERROR Shutdown( void )
Jest to jawny de inicjator InetLayer, który należy wywołać przed pozbyciem się instancji InetLayer.
Platformy mogą zgłosić zaczepy INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS w nagłówku konfiguracji na poziomie platformy i włączyć w narzędziu InetLayer haczyki Platform::InetLayer::WillDisabledown i Platform::InetLayer::DidDisabledown w celu czyszczenia dostosowań specyficznych dla platformy lub rozszerzeń danych.
Szczegóły | |
---|---|
Zwroty |
INET_NO_ERROR po powodzeniu; w przeciwnym razie określony błąd wskazujący przyczynę niepowodzenia wyłączenia.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
Publiczne funkcje statyczne
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )