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 sieciowego TCP, transportu w sieci UDP oraz transportu sieciowego (surowego) w jednym wątku.
Podsumowanie
W przypadku gniazd BSD/POSIX powiadomienia o gotowości zdarzenia są obsługiwane za pomocą deskryptorów plików i tradycyjnej ankiety / wybranej implementacji w ramach adaptacji platformy.
W przypadku LwIP powiadomienie o gotowości zdarzenia jest obsługiwane przez zdarzenia/wiadomości oraz właściwe dla platformy i systemu punkty zaczepienia systemu zdarzeń lub wiadomości.
Konstruktorzy i niszczyciele |
|
---|---|
InetLayer(void)
Jest to 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 (na potrzeby pasującego wywołania zwrotnego i stanu aplikacji), które mogą być nadal aktywne.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Pobierz identyfikator interfejsu dla określonego adresu IP.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Pobierz lokalny adres IPv6 połączenia dla określonego linku lub interfejsu.
|
GetPlatformData(void)
|
void *
Spowoduje to zwrócenie wszystkich przypisanych do instancji danych platformy specyficznych dla klienta, jeśli została wcześniej ustawiona.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Obsługa wejścia/wyjścia z wybranego wywołania.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Jest to jawny inicjator InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Sprawdź, czy między podanym adresem IPv6 a którymikolwiek z lokalnie skonfigurowanych adresów IPv6 występuje dopasowanie prefiksu.
|
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, z którymi będzie pracować
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie adresu IP określonej nazwy hosta.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie adresu IP określonej nazwy hosta.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Rozpoznawanie adresu IP określonej nazwy hosta.
|
SetPlatformData(void *aPlatformData)
|
void
Spowoduje to ustawienie instancji danych platformy specyficznych dla klienta, aby mogły je później pobrać 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 zostało aktywowane wyłączenie. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Atrybuty publiczne
Stan
enum nl::Inet::InetLayer::@5 State
Bieżący stan obiektu InetLayer.
[TYLKO DO ODCZYTU] Bieżący stan.
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 (na potrzeby 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 )
Pobierz identyfikator interfejsu dla określonego adresu IP.
Jeśli nie można wywnioskować identyfikatora interfejsu, jest on ustawiany na wartość INET_NULL_INTERFACEID.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
INET_NO_ERROR bezwarunkowo.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Pobierz lokalny adres IPv6 połączenia dla określonego linku lub interfejsu.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
GetPlatformData
void * GetPlatformData( void )
Spowoduje to zwrócenie wszystkich przypisanych do instancji danych platformy specyficznych dla klienta, jeśli została wcześniej ustawiona.
Szczegóły | |
---|---|
Zwroty |
Dane platformy dotyczące klienta, jeśli zostały wcześniej ustawione. W przeciwnym razie zawiera wartość NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Obsługa wejścia/wyjścia z wybranego wywołania.
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 )
Jest to domyślny konstruktor InetLayer.
Inicjuje on podstawowe dane użytkownika. Jednak ponieważ metoda InetLayer jest zgodna ze wzorcem projektowania inicjatora, metoda InetLayer::Init musi zostać wywołana przed użyciem obiektu.
Zainicjuj
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Jest to jawny inicjator InetLayer.
Aby można było używać właściwości InetLayer, należy je wywołać i wykonać.
Element wywołujący może zawierać opcjonalny argument kontekstu, który będzie zwracany przez dowolne funkcje hooka związane z daną platformą. W przypadku adaptacji opartych na LwIP będzie to zwykle wskaźnik do kolejki zdarzeń powiązanej z instancją InetLayer.
Platformy mogą określić parametr INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS w nagłówku konfiguracji na potrzeby konkretnej platformy i włączyć elementy Platform::InetLayer::WillInit oraz Platform::InetLayer::DidInit, aby zastosować modyfikacje i rozszerzenia danych związane z daną platformą do InetLayer.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Sprawdź, czy między podanym adresem IPv6 a którymikolwiek z lokalnie skonfigurowanych adresów IPv6 występuje dopasowanie prefiksu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Jeśli uda się znaleźć dopasowanie, wartość to „prawda”, w przeciwnym razie „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, z którymi będzie pracować 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 adresu IP określonej nazwy hosta.
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 adresu IP określonej nazwy hosta.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Rozpoznawanie adresu IP określonej nazwy hosta.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwracane wartości |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Spowoduje to ustawienie instancji danych platformy specyficznych dla klienta, aby mogły je później pobrać przez platformę klienta.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Wyłączono
INET_ERROR Shutdown( void )
Jest to jawny deinicjator InetLayer, który należy wywołać przed usunięciem utworzonej instancji InetLayer.
Platformy mogą określić parametr INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS w nagłówku konfiguracji na danej platformie i włączyć te opcje:InetLayer
Szczegóły | |
---|---|
Zwroty |
INET_NO_ERROR w przypadku powodzenia; w innym przypadku 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 )