nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Bu, tek bir iş parçacığı için zamanlayıcılar, Alan Adı Sistemi (DNS) çözümlemesi, TCP ağ aktarımı, UDP ağ aktarımı ve ham ağ aktarımı da dahil olmak üzere internet hizmetlerine erişim sağlar.
Özet
BSD/POSIX Yuvaları için etkinlik hazırlık bildirimi, dosya tanımlayıcıları ve platform uyarlamasında geleneksel bir anket / seçim uygulaması aracılığıyla işlenir.
LwIP'de etkinlik hazırlık durumu bildirimi, etkinlikler / mesajlar ile etkinlik / mesaj sistemi için platforma ve sisteme özel kancalar aracılığıyla işlenir.
Oluşturucular ve Yıkıcılar |
|
---|---|
InetLayer(void)
Bu, InetLayer varsayılan oluşturucusudur.
|
Herkese açık türler |
|
---|---|
@5{
|
enum InetLayer nesnesinin mevcut durumu. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Herkese açık özellikler |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
InetLayer nesnesinin mevcut durumu.
|
Herkese açık statik özellikler |
|
---|---|
sInetEventHandlerDelegate
|
Herkese açık işlevler |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Hâlâ etkin olabilecek tüm bekleyen DNS sorgularını (eşleşen tamamlama geri çağırması ve uygulama durumu için) iptal edin.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Belirtilen IP adresi için arayüz tanımlayıcısını alın.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Belirtilen bir bağlantı veya arayüz için bağlantı yerel IPv6 adresini alın.
|
GetPlatformData(void)
|
void *
Bu komut, daha önce ayarlanmışsa örneğe atanmış tüm istemciye özel platform verilerini döndürür.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Belirli bir görüşmede G/Ç işlemini yönetme.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Bu, InetLayer açık başlatıcısıdır.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Belirtilen IPv6 adresi ile yerel olarak yapılandırılmış IPv6 adreslerinden herhangi biri arasında önek eşleşmesi olup olmadığını kontrol edin.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Belirli bir IP sürümü ve protokolü için yeni bir RawEndPoint nesnesi oluşturur.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Yeni bir TCPEndPoint nesnesi oluşturur.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Yeni bir TunEndPoint nesnesi oluşturur.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Yeni bir UDPEndPoint nesnesi oluşturur.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
select() için kullanılacak dosya tanımlayıcısı gruplarını hazırlayın. |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
|
SetPlatformData(void *aPlatformData)
|
void
Bu işlem, istemciye özel platform verilerini, istemci platformu tarafından daha sonra almak üzere örneğe ayarlar.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Herkese açık statik işlevler |
|
---|---|
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
|
Herkese açık türler
@5
@5
InetLayer nesnesinin mevcut durumu.
Özellikler | |
---|---|
kState_Initialized
|
Başlatıldı durumu. |
kState_NotInitialized
|
Başlatılmamış durumda. |
kState_ShutdownInProgress
|
Kapatma işleminin tetiklendiği durum. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Herkese açık özellikler
Eyalet
enum nl::Inet::InetLayer::@5 State
InetLayer nesnesinin mevcut durumu.
[SALT OKUNUR] Geçerli durum.
Herkese açık statik özellikler
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Herkese açık işlevler
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Hâlâ etkin olabilecek tüm bekleyen DNS sorgularını (eşleşen tamamlama geri çağırması ve uygulama durumu için) iptal edin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Belirtilen IP adresi için arayüz tanımlayıcısını alın.
Arayüz tanımlayıcısı türetilemezse INET_NULL_INTERFACEID olarak ayarlanır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Koşulsuz olarak INET_NO_ERROR.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Belirtilen bir bağlantı veya arayüz için bağlantı yerel IPv6 adresini alın.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
GetPlatformData
void * GetPlatformData( void )
Bu komut, daha önce ayarlanmışsa örneğe atanmış tüm istemciye özel platform verilerini döndürür.
Ayrıntılar | |
---|---|
İadeler |
Daha önce ayarlanmışsa müşteriye özel platform verileri; Aksi takdirde, NULL olacaktır.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Belirli bir görüşmede G/Ç işlemini yönetme.
Bu yöntem, her etkin uç noktadaki beklemedeki G/Ç etkinliğini kaydeder ve ardından bu uç noktalar için ilgili G/Ç işleme işlevlerini çağırır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
InetLayer
InetLayer( void )
Bu, InetLayer varsayılan oluşturucusudur.
Bazı temel veri üyelerini başlatma işlemini gerçekleştirir; bununla birlikte, InetLayer açık bir başlatıcı tasarım kalıbı takip ettiğinden, InetLayer::Init yönteminin nesne kullanılmadan önce başarılı bir şekilde çağrılması gerekir.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Bu, InetLayer açık başlatıcısıdır.
InetLayer'ın kullanılabilmesi için bu komutun çağrılması ve başarıyla tamamlanması gerekir.
Çağrıyı yapan, platforma özel kanca işlevleri aracılığıyla geri verilecek isteğe bağlı bir bağlam bağımsız değişkeni sağlayabilir. LwIP tabanlı adaptasyonlar için bu genellikle InetLayer örneğiyle ilişkilendirilmiş etkinlik sırasına bir işaretçi olur.
Platformlar, platforma özgü yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS öğesini onaylamayı ve platforma özel özelleştirmeleri veya veri uzantılarını InetLayer'a uygulamak için Platform::InetKatman::WillInit ve Platform::InetKatman::DidInit kancalarını etkinleştirmeyi tercih edebilir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Belirtilen IPv6 adresi ile yerel olarak yapılandırılmış IPv6 adreslerinden herhangi biri arasında önek eşleşmesi olup olmadığını kontrol edin.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
başarılı bir eşleşme bulunursa true (doğru), aksi takdirde false (yanlış) değerini alır.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Belirli bir IP sürümü ve protokolü için yeni bir RawEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Yeni bir TCPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Yeni bir TunEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Yeni bir UDPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
select()
için kullanılacak dosya tanımlayıcısı gruplarını hazırlayın.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Değerleri Döndür |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Değerleri Döndür |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Belirtilen ana makine adının IP adresi çözümlemesini gerçekleştirin.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
Değerleri Döndür |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Bu işlem, istemciye özel platform verilerini, istemci platformu tarafından daha sonra almak üzere örneğe ayarlar.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kapat
INET_ERROR Shutdown( void )
Bu, InetLayer'ın açık başlatıcısıdır ve örneklenmiş bir InetLayer örneğinin yok edilmesinden önce çağrılmalıdır.
Platformlar, platforma özgü yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS öğesini onaylamayı ve platforma özel özelleştirmelerin veya veri uzantılarının InetLayer üzerinde temizlenmesini sağlamak için Platform::InetKatman::WillShutdown ve Platform::InetKatman::DidShutdown kancalarını etkinleştirmeyi seçebilir.
Ayrıntılar | |
---|---|
İadeler |
Başarıda INET_NO_ERROR; aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata mesajı gösterilir.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
Herkese açık statik işlevler
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )