nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Bu ayar, tek bir iş parçacığı için zamanlayıcılar, Alan Adı Sistemi (DNS) çözünürlüğü, TCP ağ aktarımı, UDP ağ aktarımı ve ham ağ aktarımı dahil olmak üzere internet hizmetlerine erişim sağlar.
Özet
BSD/POSIX yuvaları için etkinlik hazırlık durumu bildirimi, dosya tanımlayıcıları ve platform uyarlamasında geleneksel bir anket / seçme uygulaması aracılığıyla yönetilir.
LwIP için etkinlik hazırlık bildirimi, etkinlikler / mesajlar ve 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 kurucusudur.
|
Herkese açık türler |
|
---|---|
@5{
|
enum InetLayer nesnesinin geçerli durumu. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Herkese açık özellikler |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
InetLayer nesnesinin geçerli durumu.
|
Herkese açık statik özellikler |
|
---|---|
sInetEventHandlerDelegate
|
Kamu işlevleri |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Hâlâ etkin olabilecek, bekleyen DNS sorgularını (eşleşme 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)
|
Belirli bir bağlantı veya arayüz için bağlantı yerel IPv6 adresini alın.
|
GetPlatformData(void)
|
void *
Bu işlem, örneğe atanmış olan istemciye özel platform verilerini döndürür (örnek daha önce ayarlanmışsa).
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Belirli bir görüşmeden G/Ç'yi yönetin.
|
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 adresleri 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 nesne 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 açıklayıcı 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 belirtilen platform verilerini daha sonra istemci platformu tarafından alınabilmesi için ö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 geçerli durumu.
Özellikler | |
---|---|
kState_Initialized
|
Başlatıldı durumu. |
kState_NotInitialized
|
Başlatılmadı durumu. |
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 geçerli durumu.
[READ-ONLY] Geçerli durum.
Herkese açık statik özellikler
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Kamu işlevleri
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Hâlâ etkin olabilecek, bekleyen DNS sorgularını (eşleşme 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ı oluşturulamazsa 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 )
Belirli bir bağlantı veya arayüz için bağlantı yerel IPv6 adresini alın.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
GetPlatformData
void * GetPlatformData( void )
Bu işlem, örneğe atanmış olan istemciye özel platform verilerini döndürür (örnek daha önce ayarlanmışsa).
Ayrıntılar | |
---|---|
İadeler |
İstemciye özel platform verileri (daha önce ayarlanmışsa ayarlanırsa NULL).
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Belirli bir görüşmeden G/Ç'yi yönetin.
Bu yöntem, her etkin uç noktaya 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 kurucusudur.
Bazı temel veri üyesi başlatma işlemleri gerçekleştirir; ancak InetLayer açık bir başlatıcı tasarım kalıbı izlediği için InetKatman::Init yöntemi, nesneyi kullanmadan önce başarılı bir şekilde çağrılmalıdır.
Başlat
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Bu, InetLayer açık başlatıcısıdır.
InetLayer'in kullanılabilmesi için çağrılması ve başarıyla tamamlanması gerekir.
Arayan, platforma özgü herhangi bir kanca işlevi aracılığıyla geri alınacak isteğe bağlı bir bağlam bağımsız değişkeni sağlayabilir. LwIP tabanlı uyarlamalar için bu genellikle InetLayer örneğiyle ilişkilendirilmiş etkinlik sırasının işaretçisi olur.
Platformlar, platforma özel yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS ifadesini doğrulamayı tercih edebilir ve Platform::InetKatman::WillInit ve Platform::Inettier::DidInit kancalarını, platforma özel özelleştirmeleri veya veri uzantılarını InetLayer'e uygulamak için etkinleştirebilir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Belirtilen IPv6 adresi ile yerel olarak yapılandırılmış IPv6 adresleri arasında önek eşleşmesi olup olmadığını kontrol edin.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Başarılı bir eşleşme bulunursa doğru, aksi takdirde 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 nesne oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Yeni bir TCPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Yeni bir TunEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Yeni bir UDPEndPoint nesnesi oluşturur.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
select()
için kullanılacak dosya açıklayıcı 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 |
|
||||||||||||||||
Döndürülen Değerler |
|
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 |
|
||||||||||||||||
Döndürülen Değerler |
|
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 |
|
||||||||||||||||
Döndürülen Değerler |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Bu işlem, istemciye özel belirtilen platform verilerini daha sonra istemci platformu tarafından alınabilmesi için örneğe ayarlar.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kapat
INET_ERROR Shutdown( void )
Bu, InetLayer açık tanımlayıcıdır ve örneklenmiş bir InetLayer örneğinin atılmasından önce çağrılmalıdır.
Platformlar, platforma özel yapılandırma başlığında INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS ifadesini doğrulamayı tercih edebilir ve Platform::InetKatman::WillShutdown ve Platform::Inettier::DidShutdown kancası ile InetLayer'deki platforma özel özelleştirmelerin veya veri uzantılarının temizlenmesini sağlayabilir.
Ayrıntılar | |
---|---|
İadeler |
INET_NO_ERROR başarılı olduğunda; aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata 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 )